-
等价类划分法
把输入数据划分为若干个等价类,从每个等价类中选取一个代表性的数据进行测试。
适用场景:适用于输入条件存在大量可能取值的情况,如输入的数值范围、字符类型等。例如,一个要求输入年龄的字段,可划分有效等价类(18 至 60 岁)和无效等价类(小于 18 岁、大于 60 岁、非数字等)进行测试。 -
边界值分析法
选取输入输出的边界值进行测试。
适用场景:对于有边界限制的输入输出,如数值的上下限、数组的边界等。比如,一个要求输入手机号码的字段,测试 11 位有效数字的边界值(如 13000000000、19999999999)以及不足 11 位和超过 11 位的情况。 -
因果图法
通过分析输入条件之间的因果关系,生成判定表,设计测试用例。
适用场景:当输入条件之间存在多种组合关系,且输出结果依赖于这些组合时。例如,一个在线购物系统中,根据用户是否登录、是否有优惠券、商品是否打折等条件来确定最终的支付金额。 -
判定表驱动法
将复杂的逻辑关系用判定表表示,生成测试用例。
适用场景:与因果图法类似,适用于输入条件之间存在复杂逻辑关系的情况。比如,一个汽车保险系统,根据车辆类型、驾驶员年龄、驾驶记录等因素来确定保险费率。 -
正交试验法
从大量的试验点中挑选出适量的、有代表性的点,从而合理安排测试。
适用场景:输入条件较多,且各条件之间相互独立的情况。例如,一个软件的配置选项有多个,每个选项有多种取值,使用正交试验法可以减少测试用例数量又能覆盖主要情况。 -
场景法
通过描述业务流程中的各种场景,设计测试用例。
适用场景:对于业务流程较为复杂的系统,如银行的转账业务、电商的购物流程等。比如,模拟用户在电商网站上从浏览商品到下单、支付、收货的整个流程进行测试。 -
错误推测法
基于经验和直觉推测可能存在的错误,设计测试用例。
适用场景:在补充测试用例或对一些容易出错的地方进行重点测试时。例如,对于一个文件上传功能,推测可能出现文件格式不支持、文件大小超过限制、上传过程中断等错误情况进行测试。 -
功能图法
用功能图形象地表示程序的功能说明,并生成测试用例。
适用场景:对于具有复杂控制逻辑的程序,如嵌入式系统、工业控制系统等。比如,一个自动化生产线的控制系统。 -
冒烟测试
对系统进行的初步测试,主要检查系统的基本功能是否能正常运行。 -
随机测试
随机生成输入数据进行测试,有助于发现一些意外的错误。 -
静态测试
包括代码审查、文档审查等,不实际运行程序,而是检查代码和文档的规范性、完整性等。
不同的测试方法适用于不同的测试场景和需求,在实际测试工作中,通常会综合运用多种方法来提高测试的覆盖度和效果。其中等价类划分法、边界值分析法、场景法即可满足95%以上的功能测试,其他方法了解即可。