功能测试
1、等价类划分法
定义:把所有可能的输入数据划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
步骤:划分等价类(有时需细化)、建立等价类表,等价类进行编号、通过等价类导出测试用例。
等价类:是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。
等价类 | 输入 | 关注点 |
有效等价类 | 合理的、有意义的 | 功能和性能 |
无效等价类 | 无合理的、无意义的 | 异常处理 |
划分等价类:按双边区间划分、按不同取值划分、按不同取值划分、按限制条件或规则划分
2、边界值分析法
定义:是对输入或输出的边界值进行测试的一种黑盒测试方法。是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
步骤:1.确定边界情况:通常输入或输出等价类的边界就是应该着重测试的边界情况;2.选取测试数据:选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值;3.导出测试用例:根据选取的每一个测试数据,依次导出测试用例。
边界:是指相对于输入等价类和输出等价类而言,稍高于、稍低于其边界值的一些特定情况。
边界点分为上点、内点和离点。上点:就是边界上的点;内点:就是在域范围内的任意一个点;离点:就是离上点最近的一个点。
边界值设计选取测试数据的原则:
场景 | 选取原则 | 例如 | |
原则1 | 输入条件规定了值的范围 | 则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。 | 规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。作为测试数据,我们应取10及50,还应取10.01,49.99,9.99及50.01等。 |
原则2 | 输入条件规定了值的个数 | 则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。 | 一个输入文件应包括1~255个记录,则测试数据可取1和255,还应取0及256等。 |
原则3 | 输出条件规定了值的范围 | 同原则1) | 某程序的规格说明要求计算出"每月保险金扣除额为0至1165.25元",其测试用例可取0.00及1165.24、还可取一0.01及1165.26等。 |
原则4 | 输出条件规定了值的个数 | 同原则2) | 情报检索系统,要求每次"最少显示1条、最多显示4条情报摘要",这时我们应考虑的测试用例包括1和4,还应包括0和5等。 |
原则5 | 程序中使用了一个内部数据结构 | 则应当选择这个内部数据结构的边界上的值作为测试用例。 | |
原则6 | 分析程序规格说明,找出其它可能的边界条件 | 特殊边界值:默认值、空值、空格、零、无效数据等。 |
3、判定表法
定义:判定表驱动法(或决策表法) 是根据需求描述建立判定表后,导出测试用例的方法。在所有的黑盒测试方法中,基于判定表的测试是最为严格、最具有逻辑性的测试方法,可以设计出完整的测试用例集合。
判定表:(也称决策表)是一个用来表示条件和行动的二维表。
组成:条件桩、条件项、动作桩、动作项。
类型:有限条目判定表、有限条目判定表
简化:规则合并与规则包含
判定表建立步骤:列出所有的条件桩和动作桩、确定规则的个数、填入条件项、填入动作项、简化判定表
4、场景法
定义:就是通过用例场景描述用例执行的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。
步骤:画出功能模块的流程示意图、描述出基本流和备选流、构造用例场景列表、设计测试用例矩阵、确定测试数据
测试用例矩阵可用以下表示:
V(Valid有效的)表明这个条件必须有效才可执行基本流;
I(Invalid 无效的)表明这种条件下将激活所需备选流;
“N/A”(不适用)表明这个条件不适用于测试用例。(Not applicable)
基本流与备选流:经过用例的每条路径都可以用基本流和备选流来表示。
基本流:经过用例的最简单的路径
用例场景:每个执行用例的可能路径,可以确定不同的用例场景。
从基本流开始,再将基本流和备选流结合起来。
非功能测试
1、强度测试
验证软件的性能在各种极端的周边环境和系统条件下是否能正常工作,也就是验证软件的性能在各种极端的周边环境和系统条件下的承受能力。这里所谓“强度”包括了两项:一项是超载运行测试,另一项是容量测试。
2、性能测试
验证软件的性能在正常环境和系统条件下重复使用时是否还能满足性能指标。软件系统的性能测试包括:系统响应时间、软件界面响应时间、中央处理器的利用率、检查系统记忆容量在运行程序时有没有流失现象(或称内存泄露)等。
3、安全测试
软件安全测试是为了检验软件对数据的保密及对数据完整性的测试。可以说,任何的软件都只是在一定程度上安全而没有绝对安全的软件。
4、安装与卸装测试
安装测试、卸装测试
5、配置测试
配置测试主要注意三个方面:软件安装与卸装过程中系统配置的变化;软件完成安装后,人为改变配置;是硬件的不同组合是否与软件兼容。
6、兼容性测试
针对测试中软件与其他软件之间,以及被测试的软件与不同硬件之间的兼容性进行的测试。兼容测试应包括以下这些:操作系统兼容、硬件兼容、软件兼容、数据库兼容、数据兼容
7、故障修复测试
为了保证软件无论在遇到特殊事故或任何出错的情况下,一旦故障排除,即能迅速恢复到事故或出错前的状况,继续正常运行。
8、使用性能测试
使用性能测试从用户的角度去审视及改进软件,从而保证了软件的使用性能。