码迷,mamicode.com
首页 > 其他好文 > 详细

软考:软件测试方法

时间:2015-05-28 12:41:04      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

        软件测试方法分为静态和动态测试,而动态测试又可以采用黑盒和白盒测试法。针对每种测试方法的原则来设计测试用例,从而找出软件中潜在的错误和缺陷。

一、黑盒测试:在完全不考虑软件内部结构和特性情况下,测试软件的外部特性。

         1、边界值分析:边界值法设计测试用例,应选取正好等于、刚刚大于或小于边界值的值作为测试数据,基本思想是在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值,比如月份对应变量可以用枚举型,还有一些程序是多个独立变量的函数,而且这些变量受物理量的限制,则很适合边界值分析。

    2、 等价类划分:把所有可能输入数据划分若干部分,从每部分中选取少数有代表性数据作为测试用例。划分等价类时分为合理的有意义的输入数据即有效等价类,还有不合理无意义的无效等价类,然后为每个等价类规定唯一编号,设计一个新的测试用例,使其尽可能覆盖尚未被覆盖的等价类,直至所有有效等价类和无效等价类都被覆盖为止。

         以三角形问题说明采用等价类划分方法的测试用例设计,三边abc作为输入,满足足:C11<=a<=200C21<=b<=200C31<=c<=200C4a<b+cC5b<a+cC6c<a+b,输出为由这三条边确定的三角形类型:等边、等腰、不等边或非三角形。如果输入不满足这些条件任一个,则输出提示消息,如“b的取值不在容许范围”;如果取值abc满足C1C2C3,三条边相等输出等边;恰两条边相等输出等腰;没有两条边相等,输出不等边;如果C4C5C6有一不满足,则输出非三角。

二、白盒测试

        1、 语句覆盖:设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。这里的“若干个”,意味着使用测试用例越少越好。语句覆盖率的公式可以表示如下:

语句覆盖率=可执行的语句总数/被评价到的语句数量 x 100%

举一个简单的例子,我们看下面的被测试代码:

int foo(int a, int b)

{

return a / b;

}

假如我们的测试人员编写如下测试案例:

TeseCase: a = 10, b = 5测试人员的测试结果会告诉你,代码覆盖率达到了100%,并且所有测试案例都通过了。然而遗憾的是,我们的语句覆盖率达到了所谓的100%,但是却没有发现最简单的Bug,比如当我让b=0时,会抛出一个除零异常。

2、判定覆盖:运行被测程序,使得程序中每个判断真假分支至少经历一次,YesNo至少执行一个。

技术分享

3、条件覆盖:运行被测程序,使得程序中每个条件的可能取值至少经历一次,a>5b<0取值可能至少满足一个。

技术分享

4、判定/条件覆盖:结合判定和条件覆盖,程序中每个判断真假分支至少经历一次,每个条件的可能取值至少经历一次。

技术分享

5、条件组合:设计足够的测试用例,运行被测程序,使得每个判断的所有可能条件取值组合至少执行一次。

技术分享

6、路径覆盖:覆盖程序中所有可能的路径,好处是可以对程序段进行彻底的测试,但路径是以分支的指数级别增加的。

技术分享

好的测试用例可以发现软件中至今没有发现的错误,软件测试也占了软件开发的很重要一部分,一步步积累。


软考:软件测试方法

标签:

原文地址:http://blog.csdn.net/u010097777/article/details/46119929

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!