一、软件测试的目的
1、软件测试的目的就是发现软件中的各种缺陷;
2、测试只能证明软件存在缺陷,不能证明软件不存在缺陷;
3、测试可以使软件中缺陷降低到一定程度,而不是彻底消灭;
4、以最少的用例、时间和人力找出软件中潜在的各种错误与缺陷,通过修正各种错误和缺陷来提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险。
二、什么是软件缺陷
满足以下之一则称为软件缺陷:
软件未达到产品说明书标明的功能;
软件出现了产品说明书指明不会出现的错误;
软件功能超出产品说明书指明的范围;
软件未达到产品说明书虽未指出但应该达到的目标;
软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
三、测试用例八大设计方法
1、等价类划分方法
2、边界值分析:
为等价类划分的补充,取值:正好等于、大于和小于;
3、错误推测方法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法;
基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。
4、因果图方法
以上考虑的只有输入条件,未考虑输入条件之间的联系和相互之间的组合等,因果图即为后补,它所产生的结果就是判定表,它适于检查程序输入条件的各种组合情况;
5、判定表驱动分析方法
判定表:是分析和表达多逻辑条件下执行不同操作的情况的工具;
6、正交表设计分析方法
有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。
7、功能图分析法
功能图:由状态迁移图和布尔函数组成,状态迁移图用状态和迁移来描述。一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变。同时要依靠判定表或因果图表示的逻辑功能。
8、模拟分析方法
指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。