首页 / 软件测试方法和软件测试设备

软件测试方法和软件测试设备无效专利 发明

技术内容

技术领域 本发明的一般性概念涉及一种软件测试方法及设备,更具体地, 涉及一种询问用户关于测试目标函数的信息的软件测试方法及设备。 背景技术 随着软件逐渐变得复杂和不断改变,对软件验证的需求也变得复 杂和困难。 通常,软件测试主要分为软件单元的单元测试、多个软件单元的 集成的集成测试、以及整个系统的系统测试。软件测试在测试程序中 采用取代了多个变量的仿真形式来测试软件功能。 例如,单元测试确定测试目标的最小模块,将确定的最小模块从 剩余的代码中分离,以及测试分离的最小模块是否正如所期望的那样 操作。 集成测试是逻辑上从单元测试中扩展出来的测试方法。最简单的 类型的集成测试是通过将已经进行了单元测试的两个单元集成于一个 组件中,以及测试这两个单元之间的接口来实现的。即,集成测试是 检测在两个单元耦合时可能出现的问题的测试方法。 系统测试是在完成各个软件程序测试之后执行的整个系统测试 方法。例如,系统测试甚至可以包括用户直接使用的系统部分的测试、 以及程序测试。 可以以全手动方式来操作软件测试,其中,用户通过选择测试软 件类型,以及通过定义用于测试的附加变量、子函数等,来形成测试 用例。 然而,全手动方式对于形成逐一测试用例等来说,具有大量耗时 和费力的不便。 另一方面,还可以以全自动方式来操作软件测试,其中,测试软 件搜索用于测试的变量和其它必需值,以及自动地测试目标函数。 然而,在全自动方式中,执行测试软件并不容易。当在以全自动 方式执行测试软件中存在差错时,会执行错误的测试、或不会执行测 试。此外,当使用用于单元测试的测试软件时,全自动方式具有重新 构造测试软件以满足用于集成测试的集成环境的不便。 此外,可以以半自动方式来操作软件测试,其中,用于单元测试 的函数、以及用于集成测试的函数和变量是在头文件中由用户定义的, 以及生成搜索和定义变量的输出函数、以及基于头文件的函数,以自 动地制作数据用例,以及执行测试。 然而,半自动方式具有以下不便:用户必须在软件单元中搜索变 量和函数,以在头文件中进行定义。 发明内容 本发明的一般性概念提供了一种软件测试方法及设备,通过所述 方法及设备,用户改变测试软件,以适合基于输入信息的测试,其中, 通过询问用户关于测试目标函数的信息得到所述输入信息。 将在以下的描述中部分地提出本发明的一般性概念的附加方案和 /或优点和使用,以及部分地,将从该描述中显而易见,或者可以通过 对本发明一般性概念的实践来获知。 通过提供一种软件测试方法来实现本发明一般性概念的上述和/ 或其它方案和使用,所述软件测试方法包括,操作开始软件测试的测 试模式;输入测试目标函数;读取测试目标函数的标记信息;显示询 问关于标记信息的信息的信息选择屏幕;根据通过信息选择屏幕输入 的关于标记信息的信息和测试目标函数,来生成测试信息;以及输出 测试信息来测试所述测试目标函数。 软件测试方法还可以包括,如果输入测试目标函数,则显示选择 测试类型的类型选择屏幕,其中,测试信息的生成还包括基于测试类 型来生成测试信息。 信息选择屏幕的显示可以包括:显示询问关于变量信息、定义信 息、子函数信息和标准函数信息中的至少一个的信息的屏幕。 变量信息可以包括:变量数据类型、关于是否建立了变量指针的 信息、以及测试用例信息中的至少一个。 测试用例信息可以包括测试用例类型和数据。 测试用例类型可以包括固定用例、默认用例和用户用例中的至少 一个。 测试信息可以包括:作为与测试项对应的参考的测试用例和测试 驱动器中的至少一个。 测试类型可以包括单元测试和集成测试之一。 测试信息的生成可以包括:基于通过信息选择屏幕和类型选择屏 幕中的至少一个的信息,显示测试目标函数的变量信息、定义信息、 子函数信息、标准函数信息、以及测试用例类型中的至少一个。 还可以通过提供一种软件测试设备,来实现本发明的一般性概念 的上述和/或其它方案和使用,所述软件测试设备包括,显示部分,用 于显示图像;接口屏幕生成部分,用于生成在显示部分上显示的屏幕; 存储部分,用于存储具有标记信息的测试目标函数;用户选择部分, 用于选择测试模式来开始软件测试;以及控制器,用于在选择测试模 式时,控制接口屏幕生成部分生成询问关于标记信息的信息的信息选 择屏幕,以及基于通过信息选择屏幕输入的信息来生成测试信息。 控制器可以在输入测试目标函数时,控制接口屏幕生成部分来生 成选择测试类型的类型选择屏幕,以及基于通过类型选择屏幕输入的 测试类型,来生成测试信息。 信息选择屏幕可以包括询问关于变量信息、定义信息、子函数信 息和标准函数信息中的至少一个的信息的屏幕。 变量信息可以包括:变量数据类型、关于是否建立了变量指针的 信息、以及测试用例信息中的至少一个。 测试用例信息可以包括具有固定用例、默认用例和用户用例中的 至少一个的测试类型。 控制器可以生成测试信息,所述测试信息具有作为目标函数测试 项的参考的测试用例和测试驱动器中的至少一个。 测试类型可以包括单元测试和集成测试之一。 控制器可以包括控制接口屏幕生成部分的显示控制器,以及生成 测试信息的测试信息生成部分。 还可以通过提供一种计算机可读记录介质,来实现本发明的一般 性概念的上述和/或其它方案和使用,所述计算机可读记录介质执行计 算机可读代码,来实现软件测试方法,所述方法包括,操作开始软件 测试的测试模式;输入测试目标函数;读取测试目标函数的标记信息; 显示询问关于标记信息的信息的信息选择屏幕;根据通过信息选择屏 幕输入的关于标记信息的信息和测试目标函数,来生成测试信息;以 及输出测试信息来测试所述测试目标函数。 还可以通过提供一种软件测试方法,来实现本发明的一般性概念 的上述和/或其它方案和使用,所述方法包括,生成接收测试目标函数 的接口屏幕;根据测试目标函数输入来确定标记信息;根据所选择的 标记信息来生成测试信息;以及根据生成的测试信息来测试软件。 测试的软件可以是由用户独立测试的软件的形成单元。 所述方法还包括,在确定标记信息之前,输入软件语言类型,其 中,可以根据测试目标函数输入和软件语言类型输入,来执行标记信 息的确定。 所述方法还可以包括,在确定标记信息之前,输入软件测试类型, 其中,可以根据输入的测试目标函数和输入的软件测试的类型,来执 行标记信息的确定。 附图说明 结合附图,本发明的上述和/或其它方案和优点将变得显而易见, 以及更易于从以下对实施例的描述中得以理解,其中: 图1是示出了根据本发明一般性概念的实施例的软件测试设备的 控制框图。 图2是示出了根据本发明一般性概念的实施例的软件测试方法的 流程图。 具体实施方式 现在将详细参考本发明一般性概念的实施例,其示例在附图中示 出,其中,在整个说明书中,相同的参考数字指示相同的元件。为了 解释本发明的一般性概念,以下通过参照附图对实施例进行描述。 如图1中所示,根据本发明一般性概念的软件测试设备100可以 包括,显示部分70、接口屏幕生成部分50、存储部分40、用户选择 部分10、以及控制它们的控制器30。软件测试设备100还可以包括也 由控制器30控制的测试部分90。 根据该实施例,显示部分70从接口屏幕生成部分50中接收接口 屏幕的输出信号并显示图像。显示部分70可以包括在其上形成图像的 显示模块(未示出),以及处理图像信号并在显示模块上显示图像的模 块驱动部分(未示出)。 显示模块可以包括不同类型的显示模块,如,CRT(阴极射线管)、 DLP(数字光处理)、PDP(等离子显示面板)等。例如,当显示模块 是DLP时,模块驱动部分还可以包括光引擎(optical engine)。当显 示模块是LCD时,模块驱动部分还可以包括将输入信号转换为数据信 号和栅极信号的印刷电路板。同样,根据不同类型的显示模块,每个 显示部分70可以具有与模块驱动部分相对应的结构。 根据控制器30的控制(将在以下描述),接口屏幕生成部分50 生成屏幕,并在显示部分70上显示该屏幕。接口屏幕生成部分50在 信号处理部分(未示出)输出接口屏幕,以及将自信号处理部分输入 的接口屏幕与独立的图像信号混合。信号处理部分可以通过在显示部 分70的预定位置处显示接口屏幕,以在显示部分70上输出接口屏幕。 可以将用户选择部分10实现为不同类型的用户选择部分,如, 多个输入按键、按钮、鼠标、键盘、触控板等,使得用户可以输入或 选择预定功能。此外,如果在显示部分70中生成具有预定菜单的接口 屏幕,则用户可以通过使用用户选择部分10,来对接口屏幕的预定菜 单进行选择、使用等操作。根据本发明的一般性概念,用户还可以通 过使用用户选择部分10来选择测试模式,以开始软件测试。例如,用 户选择部分10可以包括选择测试模式的附加按键,或者可以通过接口 屏幕等来选择测试模式。 存储部分40存储具有标记信息的测试目标函数。例如,存储部 分40可以由存储数据的任何结构形成,如硬盘、RAM、ROM等。这 里,标记信息表示语法上不能再进行划分的基本语言要素。例如,标 记信息可以包括关键词、算符、标点符号等。 根据该实施例的控制器30控制软件测试设备100的每个部分, 使得可以执行每个部分的功能。 具体地,控制器30可以包括显示控制器31和测试信息生成部分 35。例如,显示控制器31可以控制诸如接口屏幕生成部分50、显示 部分70之类的软件测试设备100的每个部分,使得可以在显示部分 70上显示预定图像。测试信息生成部分35在目标函数测试之前生成 测试信息。 如果通过用户选择部分10来选择开始软件测试的测试模式,则 显示控制器31可以控制接口屏幕生成部分50来生成接口屏幕,以输 入测试目标函数。可选地,在选择了测试模式之后,可以通过选择具 有测试目标函数等的文件,来定义测试目标函数。 然后,显示控制器31可以控制接口屏幕生成部分50来生成信息 选择屏幕,用于询问关于测试目标函数的标记信息的信息。显示控制 器31通过信息选择屏幕,在测试信息生成部分35上输出所输入的标 记信息。因此,显示控制器31可以控制测试信息生成部分35来生成 测试信息。 这里,例如,关于标记信息的信息可以包括关于变量信息、定义 信息、子函数信息和标准函数信息中的至少一个的信息。因此,信息 选择屏幕可以包括询问关于上述标记信息的详细信息的屏幕。 此时,变量信息可以包括编码数据类型、关于是否建立了变量指 针的信息、以及测试用例信息中的至少一项。例如,测试用例信息可 以用作要测试的项目的参考。此外,测试用例信息可以包括具有固定 用例、默认用例和用户用例中的至少一个的测试类型。 例如,当选择了固定用例或用户选择用例时,显示控制器31可 以允许用户输入测试用例的数据。当选择了固定用例时,控制器30 可以允许一个数据的输入,以及当选择了用户用例时,可以允许多个 数据的输入。 此外,当选择了测试模式时,显示控制器31可以控制接口屏幕 生成部分50来生成类型选择屏幕,以选择测试类型。 如果显示控制器31在测试信息生成部分35上输出了输入测试类 型,则测试信息生成部分35可以基于所选的测试类型来生成测试信 息。例如,测试类型可以包括单元测试和集成测试。 可以将根据本发明一般性概念的单元指定为软件的最小要素或 模块,其中,可以通过一个单元或多个单元来操作一个函数。即,当 在整个软件完成之后仅可以进行正常软件操作的传统测试,根据本发 明一般性概念的单元是可以由用户独立测试的软件的形成单元。此外, 该单元可以包括至少一个子单元。根据本发明一般性概念的单元不会 限制于特定的大小或特定的功能。 即,单元测试确定了测试目标的最小模块,将确定的最小模块与 剩余代码分离,以及测试分离的最小模块是否如所期望的那样操作。 集成测试是逻辑上从进行单元测试的单元中扩展出来的测试方 法。通过将已经进行了单元测试的两个单元集成于一个组件中,以及 测试这两个单元之间的接口,来实现最简单的类型的集成测试。即, 集成测试是检测在两个单元耦合时可能出现的问题的测试方法。 即,根据本发明一般性方法的测试信息生成部分35可以根据通 过以上描述的信息选择屏幕与类型选择屏幕中的至少一个提供的信 息,来生成测试信息。例如,测试信息可以包括作为与测试项对应的 参考的测试用例和测试目标函数的测试驱动器中的至少一个。 可以将测试驱动器定义为,为了测试测试目标函数,通过将单元、 子函数、标准函数、定义、变量等组合在一起来构造的实质的程序。 即,测试信息生成部分35生成测试用例来确定测试项。此外,测试信 息生成部分35可以生成测试驱动器,来基于测试用例测试测试目标函 数。 控制器30可以在测试部分90上输出生成的测试驱动器和生成的 测试用例。然后,测试部分90可以执行测试驱动器,以根据每个测试 用例来测试测试目标函数。测试部分90可以操作用于测试目标函数的 测试,以及存储与测试用例中的每个相对应的测试结果。 可以构造执行测试信息生成部分35和测试部分90中的每个函数 的软件。例如,测试生成部分35和测试部分90可以包含于软件、硬 件或其组合中。例如,可以将测试生成部分35和测试部分90具体化 为计算机可读记录介质上的计算机可读代码。 根据本发明的一般性概念,软件测试100可以根据图2中示出的 以下方法序列,开始软件测试。 参照图1和2,在根据本发明一般性概念的软件测试方法中,首 先,确定是否可以选择或操作开始软件测试的测试模式(操作S11), 然后,如果选择了开始软件测试的测试模式,则确定是否可以输入测 试目标函数(操作S13)。如果输入了测试目标函数,则读取标记信息 (操作S19)。控制器30在显示部分70上显示询问关于标记信息的信 息的信息选择屏幕(操作S21)。如果通过信息选择屏幕输入了关于标 记信息的信息(操作S23),则控制器30基于输入信息和测试目标函 数,来生成测试信息(操作S25)。 此时,如果在操作S13中输入测试目标函数,则控制器30还可 以在显示部分70上显示询问测试类型的类型选择屏幕(操作S15)。 如果通过类型选择屏幕选择了测试类型(操作S17),则控制器30可 以基于通过信息选择屏幕选择的信息和通过类型选择屏幕选择的测试 类型,来生成测试信息(操作S25)。控制器30可以在测试部分90上 输出所选的测试信息,来对测试目标函数进行测试(操作S27)。 以下,将参照图1和2来描述根据本发明一般性概念的实施例的 软件测试方法。 根据本发明一般性概念的实施例,用户可以操作测试软件来开始 软件测试。如果开始了测试软件的操作,则根据本发明一般性概念的 控制器30可以意识到,开始软件测试的测试模式正待操作(操作S11)。 因此,控制器30可以控制界面屏幕生成部分50,使得可以生成 输入测试目标函数的屏幕。如果输入在接口屏幕生成部分50中生成的 测试目标函数的屏幕在显示部分70上显示,则用户可以输入测试目标 函数(操作S13)。 控制器30还可以控制接口屏幕生成部分50生成输入代码语言类 型的屏幕、或者输入测试类型的类型选择屏幕,以及在显示部分70 上显示该屏幕(操作S15)。例如,代码的语言类型可以包括诸如C 语言、C++语言、basic语言之类的各种程序语言。 用户可以通过显示于显示部分70上的类型选择屏幕,来选择代 码的语言类型或测试类型(操作S17)。 控制器30可以读取输入测试目标函数的标记信息(操作S19)。 控制器30可以控制接口屏幕生成部分50来生成信息选择屏幕,以询 问关于标记信息的信息。因此,如果在显示部分70上显示了信息选择 屏幕(操作S21),则用户可以使用用户选择部分10,通过信息选择 屏幕来选择信息(操作S23)。 例如,信息选择屏幕可以包括询问信息的屏幕,所述信息关于与 控制器30读取的标记信息中的每个相对应的变量信息、定义信息、子 函数信息和标准函数信息中的至少一项。 即,如果由控制器30读取的标记信息包括变量,则信息选择屏幕 可以包括变量数据类型(如,字符、整型(int)、双精度(double)等)、 是否在存储部分40中建立了通知变量位置的变量指针的信息、以及测 试用例信息中的至少一项。 这里,测试用例信息可以包括测试用例类型。此时,如上所述, 测试用例类型可以包括固定用例、默认选择用例和用户用例。 此外,如果由控制器30读取的标记信息包括函数,则信息选择屏 幕可以包括选择该函数是子函数或标准函数的屏幕。 控制器30可以基于通过信息选择部分和类型选择屏幕输入的信 息,来生成测试信息(操作S25)。控制器30可以显示测试目标函数 的变量信息、定义信息、子函数信息、标准函数信息、以及基于通过 信息选择部分和类型选择屏幕输入的信息的测试用例类型中的至少一 个。因此,用户可以通过检查所显示的数量是否正确,来判断是否正 确地生成了适于他/她目的的测试信息。 例如,测试信息可以包括作为测试项参考的测试用例和测试驱动 器中的至少一个。 通过在测试部分90上输出生成的测试信息,控制器30可以执行 软件测试。 对于以上描述的本发明一般性概念的示例性实施例,在软件测试 方法中,可以用对话形式显示类型选择屏幕或信息选择屏幕。即,可 以在显示部分70上显示提问“测试类型是什么?”的屏幕。根据用户输 入的测试类型,可以显示用于单元测试或集成测试类型的适合的信息 屏幕。即,可以显示不同对话形式的不同屏幕,如,“你使用指针吗?”, “测试用例类型是什么?”等。因此,用户可以通过回答屏幕上显示的 问题(如同他/她在对话中)开始软件测试,从而更加有效地测试软件。 对于以上描述的本发明一般性概念的示例性实施例,控制器30 或控制器30的测试信息生成部分35可以具有附加软件。此外,附加 软件可以提供以包括测试部分90。此时,根据本发明一般性概念的软 件测试设备100可以包括具有上述软件的不同电磁设备。例如,图1 和2中的软件测试设备100和软件测试方法可以包含于软件、硬件或 其组合中,以及作为计算机可读记录介质上的计算机可读代码。计算 机可读记录介质可以包括适于存储之后可由计算机系统读取的数据的 任何数据存储设备。计算机可读记录介质的示例包括、但不局限于, 只读存储器(ROM)、随机访问存储器(RAM)、CD-ROM、磁带、软 盘、光数据存储设备、以及载波(如,通过因特网的数据传输)。计算 机可读记录介质还可以在网络耦合计算机系统上分布,使得以分布的 形式存储和执行计算机可读代码。 如上所述,基于根据本发明一般性概念的实施例的软件测试方法, 在测试作为测试目标函数的软件之前,用户可以改变简单选项、或者 可以输入关于对话形式的信息。根据本发明一般性概念的测试方法可 以以对话形式指导测试。因而,用户可以无困难地直接检查测试过程。 因此,根据本发明一般性概念的软件测试方法及其软件测试设备会需 要基于较少差错的用户的较少努力。 如上所述,本发明的一般性概念提供了一种软件测试方法及其方 法,通过所述方法,用户改变软件,以适合基于输入信息的测试,其 中,通过询问用户关于测试目标函数的信息得到所述输入信息。 尽管已经示出并描述了本发明一般性概念的一些实施例,但是本 领域技术人员将理解,可以在不偏离本发明一般性概念的原理和精神 的情况下,在这些实施例中作出改变,本发明一般性概念的范围由所 附权利要求及其等同物所限定。 本申请要求2005年12月28日向韩国知识产权局递交的专利申请 号为No.P2005-0131936的韩国专利申请的优先权,在此将该申请的公 开整体并入作为参考。