软件测试的基本方法和测试理论

别妄想泡我
772次浏览
2021年02月21日 09:11
最佳经验
本文由作者推荐

-

2021年2月21日发(作者:左耳小说)


动态黑盒测试







不深入代码细节的软件测 试方法。常被称为行为测试,因为测试的是软件在使用过程


中的实际行为。







首先,从产品说明书获知测试对象的软件的输入和应该得 到的输出。









接下来,开始定义测试案例。



测试案例:


指进行实验用的输入,以及测试软件用的程


序。










选择测试案例是软件测试 员最重要的任务。不正确的选择可能导致测试量过大或者过


小,


甚至测试目标不对。


准确评估风险,


把不可穷近的可能性减少到 可以控制的范围是成功


的诀窍。





测试基本方法:通过测试



vs


失败测试







通过测试:确认软件至少能做什么,而不考验其能力。







失败测试:纯粹为了破坏软件而设计和执行的测试案例,也称为迫使出错测试。蓄意


攻击软件的薄弱环节。










在设计和执行测试案例时 ,总是首先进行通过测试。在破坏性试验之前看看软件基本


功能是否实现是很重要的,否 则在正常使用软件时就会奇怪为什么有那么多的软件缺陷。






常见的测试案例就是设法迫 使软件出现错误提示信息。产品说明书可能会给出这样的


功能要求,

针对这个问题的测试可能是通过测试也可能是失败测试。


可能两者都是。

< p>
不用去


刻意区分,重要的是找到软件缺陷!






选择测试案例:等价分配






等价分配:


是指分步骤地把过多


(无限)

< br>的测试案例减小到同样有效的小范围的过程。


也称等价划分。






等价分配技术提供了一个选择哪些数值、舍弃哪些数值的 系统方法。







等价类别或者等价区间是 指测试相同目标或者暴露相同软件缺陷的一组测试案例。在


寻找等价区间时,想办法把软 件的相似输入、输出、操作分成组。这些组就是等价区间。






等价分配的目的是把可能 的测试案例组合缩减到仍然足以测试软件的控制范围。因为


选择了不完全测试,就要冒一 定的风险。如果为了减少测试案例的数量过度进行等价分配,


测试的风险就会增加。


另外,


等价区间的划分没有一定的标准,


只 要足以覆盖测试对象就行


了。






数据测试







软件由数据(包括键盘输 入、鼠标单击、磁盘文件、打印输出等等)和程序(可执行


的流程、转换、逻辑和运算) 两个最基本的要素组成。







对数据进行软件测试,就 是在检查用户输入的信息、返回结果以及中间计算结果是否


正确。


主要根据下列原则来进行等价分配,以合理减少测试案例:


边界条件、次边界条件和< /p>


无效数据。






1.


边界条件测试






程序在处理大量中间数值时都是对的,但是可能在边界处出现错误。比如数组的


[0 ]



素的处理。想要在


Basic


中定义一个


10


个元素的数组,如果使用< /p>



Dim data(10) As Integer



则定义的是一个


11


个元素的数组,在赋初值时再使用



For i =1 to 10 ...


来赋值,就会产生权


限,因为程序忘记了处理


i



0



0


号元素。






边界条件是指软件计划的操作界限所在的边缘条件。







数据类型:数值、字符、位置、数量、速度、地址、尺寸等,都会包含确定的边界。






应考虑的特征:第一个


/


最后一个、开 始


/


完成、空


/


满、最慢


/


最快、相邻


/

< p>
最远、最小值


/


最大值、超过

/


在内、最短


/


最长、最早


/


最迟、最高


/


最低 。这些都是可能出现的边界条件。







根据边界来选择等价分配中 包含的数据。然而,仅仅测试边界线上的数据点往往不够


充分。


提出边界条件时,


一定要测试临近边界的合法数据,


即测试最后 一个可能合法的数据,


以及刚超过边界的非法数据。以下例子说明一下如何考虑所有可能 的边界:





------------------------------------------------- -------------------------------








如果文本输入域允许输入< /p>


1



255


个字 符。









尝试:


输入


1


个字符和


255


个字符

< p>
(合法区间)



也可以加入


254


个字符作为合


法测试。













输入


0


个 字符和


256


个字符作为非法区间。




--------------------------- -------------------------------------------------- ---








如果程序读写软盘









尝试:保存一个尺寸极小,甚至只有一项的文件。













然后保存一个很大的


——

< p>
刚好在软盘容量限制之内的文件。













保存空文件。













保存尺寸大于软盘容量的文件。



< /p>


---------------------------------------- ----------------------------------------










如果程序允许在一张纸上打印多个页面









尝试:只打印一页













打印允许的最多页面













打印


0














多于所允许的页面(如果可能的话)




--------------------------- -------------------------------------------------- ---




----------- -------------------------------------------------- -------------------









2.


次边界条件测试






上面所讲的是普通的边界条件,在产品说明书中有定义,或者在软件的过程中确定。


但有些边界在软件内部,


最终用户几乎看不到,


但是软件测试仍 有必要检查,


这样的边界条


件成为次边界条件或者内部边界条件 。


寻找这样的边界条件,


不要求软件测试员成为程序员


或者具有阅读源代码的能力,但是确实要求大体了解软件的工作方式。


2


的乘方和


ASCII


表是这样的两个例 子:




------------- -------------------------------------------------- -----------------




2


的乘方






术语



范围或值








bit





0



1






双位


doublebit





0



15






字节


Byte





0~255







word





0~65,535


或者


0



4,29 4,967,295







K





1,024







M





1,048,576






亿






1,073,741,824






万亿






1,099,511,627,776



-


-


-


-


-


-


-


-