软件测试经验与教训之测试手段与程序错误分析

发布时间 2023-04-01 13:47:50作者: 越长大越孤单哦

人们可以做的所有测试都可以分为5个方面进行描述:

。测试员:进行测试的人。如用户测试需要站在用户,商家,供应商等不同角色的角度进行测试

。覆盖率:测试了哪些内容。如功能测试中,要测试每个功能,接口测试中测试每个接口

。潜在问题:测试的原因(要测试什么风险)如测试极值问题

。活动:如何测试。例如回归测试,冒烟测试,探索式测试

。评估:怎样判定测试通过还是不通过

所有的测试都是一个要素或者几个要素联合起来就行测试

基于覆盖率的常用测试手段:

1)功能测试:逐个测试每个功能,彻底测试功能,直到确信该功能没有问题。

2)功能集成测试:多个功能组合在一起执行的情况

3)菜单浏览:遍历产品中所有菜单和对话框,使用每个可选项

4)域测试:域是一个(数学)集合,包含所有可能的函数变量取值。在域测试中,要标识函数和变量。变量可以是输入或输出变量。把每个变量都要把其可能取值集合划分为等价类,从中选取代表值进行测试。 请注意哦,与功能测试形成对比的是,我们重点关注的是变量而不是功能。 进行域测试时必须分析变量,然后再根据分析,以这个变量作为输入或输出,测试设计这个变量的每个功能

5)等价类分析:所谓等价类,是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的错误是等价的。从每一个子集中选取少数具有代表性的数据,从而生成测试用例。等价类又分为有效等价类无效等价类。有效等价类代表对程序有效的输入,而无效等价类则是其他任何可能的输入(即不正确的输入值)。有效等价类和无效等价类都是使用等价类划分法设计用例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输入,也能接受无效输入的考验。

6)边界测试:边界值是指对于输入等价类和输出等价类而言稍高于其边界值及稍低于其边界值的一些特定情况。效和无效的分界点,往往是程序的判定点,是程序中最容易出错的地方,也是测试人员重点的测试内容

7)最佳代表测试:例如输入框限制输入5到15个字符,一般输入8个字符,就可以判定除了边界外其他的值都是没有问题的

7)用各种方式映射和测试编辑字段:可以用多种方式改变某个字段中的值。直接输入,复制粘贴,通过各种方式改变字段的值。

8)逻辑测试:变量在程序中有关系,逻辑测试就是测试程序中的所有逻辑关系。因果图是一种用于设计大量基于逻辑的测试手段。

9)基于状态测试:程序的状态要发生转换。在给定状态中,有些输入是有效的,其他收入被忽略或拒绝。

10)路径测试:一条路径包含测试员所执行的所有步骤,或程序为了得到正确状态所通过的所有语句。

11)组合测试:相互组合测试两个或很多变量。 

基于潜在问题的测试手段也就是基于风险测试:根据程序中,某个功能失效的可能性,以及如果失效确实发生可能造成的损失。 为了发现错误进行风险分析,功能怎么样会失效?什么风险因素导致这个功能失效。

。输入风险:限制程序可以处理的内容的约束。例如,程序只能处理32位数字,则程序应该检测并拒绝超出32位数字限制的输入

。输出风险:输入的合法的但是可能会导致产生程序不能处理的输出值。例如显示图片失败

。计算风险:输入输出没有问题,但是在计算某个值时程序失效。如,将两个很大的数乘在一起,积太大程序不能处理

。存储(或数据)约束:输入输出计算都是合法的,但是操作使程序耗尽内存,或产生的数据文件太大,程序不能处理。

。进行风险测试之前,还必须做相当量的非基于风险的测试,针对时序的测试

基于活动的测试:

回归测试:

脚本测试:

冒烟测试:

探索式测试:

游击式测试:

场景测试:

安装测试:

负载测试:

长序列测试:
性能测试:

关于测试是否通过的基于评估的测试手段:

与已保存的结果进行比较:通过将当前得到的结果和以前的结果进行对比

一致性是评估程序的主要手段,下面是七种主要的一致性

一致性是评估程序的主要标准

1.与历史一致。现在的功能行为与以前的行为一致。

2.与我们的想像一致。功能行为与机构的项目预期一致。
3.与可比较的产品一致。功能行为与可比较产品的类似功能一致。

4.与所声明的内容一致。功能行为与承诺提供的功能一致。

5.与用户的预期一致。功能行为与我们认为是用户想要的功能一致。
6.产品内部一致。功能行为与产品内部可比较的功能或功能模式的行为一致。

7、与用途一致。功能行为与明确的用途一致。