【技术实现步骤摘要】
本专利技术涉及软件测试领域,更具体地,涉及一种程序测试系统。
技术介绍
软件测试的方法主要有黑盒测试和白盒测试。黑盒测试又叫功能测试,一般根据程序的功能要求来设计测试用例。白盒测试依据程序的内部逻辑结构,一般采用逻辑覆盖法设计测试用例。测试用例(Test Case)目前没有经典的定义,一个测试用例,一般是指一个测试任务,该任务在设定的条件下执行被测试程序。白盒测试常用的逻辑覆盖有语句覆盖、判定覆盖、表达式覆盖、条件覆盖、判定条件覆盖、条件值组合覆盖、路径覆盖,分别定义如下1.语句覆盖设计足够的测试用例,使每一可执行语句至少执行一次。2.判定覆盖又叫分支覆盖,设计足够的测试用例,使每个判定的取真分支和取假分支至少经历一次。3.表达式覆盖(条件式覆盖)设计足够的测试用例,使每个判定的每个条件至少计算一次。4.条件覆盖(条件值覆盖)设计足够的测试用例,使每个判定的每个条件的所有可能取值至少执行一次。5.判定条件覆盖设计足够的测试用例,使每个判定中每个条件的所有可能取值至少执行一次,同时,判定的取真分支和取假分支至少经历一次。6.条件组合覆盖(条件值组合覆盖)设计足够的测试用例,使每个判定的所有可能的条件取值的组合至少执行一次。7.路径覆盖设计足够的测试用例,使程序中所有可能的路径至少执行一次。程序中含有循环结构时,一个很简单的程序都可能产生大量的路径,完全的路径覆盖在实际的测试工作中不具实用性,因此,对于路径覆盖,统计路径时一般不考虑循环的实际次数,只考虑至少执行循环体一次和不执行循环体两种情况,这种简化的路径覆盖又叫Z路径覆盖,由于完全的路径覆盖不具实用性 ...
【技术保护点】
一种程序测试系统,其特征在于,包括测试用例设计装置。
【技术特征摘要】
1.一种程序测试系统,其特征在于,包括测试用例设计装置。2.根据权利要求1所述的程序测试系统,其特征在于,所述测试用例设计装置用于设计逻辑目标的覆盖测试用例。3.根据权利要求1所述的程序测试系统,其特征在于,所述测试用例设计装置包括用于从现有的测试用例中选择近似测试用例的装置。4.根据权利要求3所述的程序测试系统,其特征在于,所述用于从现有的测试用例中选择近似测试用例的装置包括下述装置A.用于将程序代码映射为结构对象的装置;B.用于统计程序路径的装置;C.用于记录逻辑覆盖信息的装置;D.用于计算逻辑目标的近似测试用例的装置。5.根据权利要求4所述的程序测试系统,其特征在于,所述结构对象包括语句块对象、分支树对象及分支对象。6.根据权利要求5所述的程序测试系统,其特征在于,将程序逻辑结构分为顺序结构和分支结构;所述语句块对象用于描述顺序结构,所述分支树对象用于描述分支结构,所述分支对象用于描述顶层分支或分支结构的一个分支;每一所述分支树对象至少嵌套了两个分支对象。7.根据权利要求4或5或6所述的程序测试系统,其特征在于,所述装置A包括解析所述程序代码的逻辑结构,依据所述程序代码的分支结构生成对应的分支树对象及对应的分支对象,依据所述程序代码的顺序结构生成对应的语句块对象,并将所述分支树对象和所述语句块对象嵌套于对应层次的分支对象中。8.根据权利要求4所述的程序测试系统,其特征在于,所述路径包括语句组合及分支组合。9.根据权利要求4或8所述的程序测试系统,其特征在于,所述装置B包括后序扫描所述结构对象,针对每一结构对象,将一个输入路径集作为初始数据进行路径统计,顶层分支对象的输入路径集只含一条空路径;针对语句块对象,在输入路径集的每条路径中记录该语句块名;针对分支对象,在输入路径集的每条路径中记录该分支名,前一子对象的输出路径集作为下一子对象的输入路径集;针对分支树对象,将输入路径集的拷贝作为每一子对象的输入路径集。10.根据权利要求9所述的程序测试系统,其特征在于,所述装置B进一步包括当路径经过含有返回语句的语句块对象时,该路径即结束。11.根据权利要求9所述的程序测试系统,其特征在于,所述装置B进一步包括忽略隐藏的对象及隐藏的对象的直接或间接子对象。12.根据权利要求4所述的程序测试系统,其特征在于,所述装置C包括记录语句覆盖信息;统计已覆盖路径及已覆盖路径的覆盖用例。13.根据权利要求12所述的程序测试系统,其特征在于,所述装置C进一步包括记录条件覆盖信息。14.根据权利要求4所述的程序测试系统,其特征在于,所述装置D包括下述装置的任意组合D1.用于计算目标路径的近似测试用例的装置;D2.用于计算目标分支的近似测试用例的装置;D3.用于计算目标语句的近似测试用例的装置;D4.用于计算目标条件值组合的近似测试用例的装置;D5.用于计算目标条件式的近似测试用例的装置;D6.用于计算目标条件值的近似测试用例的装置。15.根据权利要求14所述的程序测试系统,其特征在于所述装置D1包括使用用于计算目标路径的近似路径的装置计算所述目标路径的近似路径;所述目标路径的近似测试用例等于该目标路径的近似路径的覆盖用例;所述装置D2包括选择所有经历目标分支的路径作为候选目标路径;使用用于计算目标路径的近似路径的装置计算每一所述候选目标路径的近似路径;选择临界差最小的候选目标路径作为目标路径;所述目标分支的近似测试用例等于所述目标路径的近似路径的覆盖用例;所述装置D3包括所述目标语句的近似测试用例等于该目标语句所在分支的近似测试用例;所述装置D4包括使用用于计算目标条件值组合的近似测试用例的装置计算所述目标条件值组合的近似测试用例;所述装置D5包括选择所有目标条件式可达的条件值组合作为候选目标条件值组合;使用用于计算目标条件值组合的近似测试用例的装置计算每一所述候选目标条件值组合的近似测试用例;选择已覆盖的在前条件式最多的候选条件值组合作为目标条件值组合;所述目标条件式的近似测试用例等于所述目标条件值组合的近似测试用例;所述装置D6包括选择所有包含目标条件值的条件值组合作为候选目标条件值组合;使用用于计算目标条件值组合的近似测试用例的装置计算每一所述候选目标条件值组合的近似测试用例;选择已覆盖的在前条件值最多的候选条件值组合作为目标条件值组合;所述目标条件值的近似测试用例等于所述目标条件值组合的近似测试用例。16.根据权利要求15所述的程序测试系统,其特征在于所述用于计算目标路径的近似路径的装置包括比较目标路径与各已覆盖路径的分支组合,重叠分支最多的已覆盖路径,就是目标路径的近似路径;所述用于计算目标条件值组合的近似测试用例的装置包括选择所有覆盖了目标分支的测试用例作为候选测试用例;选择相符条件值最多的候选测试用例作为目标条件值组合的近似测试用例。17.根据权利要求4所述的程序...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。