软件测试基础理论

可是如果你会来 ,那冬天不值一提

一、软件测试基础知识

1、软件测试的定义

2、软件测试方法的分类

3、软件测试的原则

4、软件测试策略

5、软件测试模型

6、软件测试生命周期

1、软件测试的定义

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求 进行评估的过程。

规定条件 –> 测试用例

发现程序错误 –> 找bug

衡量软件质量 –> 质量评估

满足设计要求 –> 满足要求

2、软件测试方法的分类

3、软件测试的原则

1. 测试应该 尽早进行 ,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。

2. 程序员 (开发)应该避免检查自己的程序 ,软件测试应该由第三方(测试人员)来负责。

3. 设计测试用例时应考虑到 合法的输入和不合法的输入 。【比如:金额输入框小数部分超过两位0.0001】

4. 在测试程序时,不仅要检验程序是否做了该做的事, 还要检验程序是否做了不该做的事 ,多余的工作会带来副作用,影响程序的效率,有时会带来潜在的危害或错误。

5. 应 长期保留所有测试用例 ,保留测试用例有助于以后修改程序后的回归测试。

4、软件测试的策略

1. 选择测试方法:选择 最合适当前项目 的测试方法(比如项目紧急的时候?项目频繁发版)(例如:重复测试的工作可以采用自动化测试)

2. 角色和职责:需要在测试策略里面 明确定义各个角色 ,以及 该角色的职责 。比如项目经理、测试组长、测试工程师。

3. 环境需求:这一点非常重要,它将描述测试时需要的系统环境(软件,服务器Linux,windows,数据库MySQL),包括 软硬件以及网络环境 等等。在澄清环境需求的时候,测试组织可以识别出资源方面的风险。

4. 风险分析:影响测试过程的风险都应该尽早被识别出来,而且必须有相应的解决办法以便消除或减轻这些风险。(例如:人员休假、软件是否完成)

5. 测试进度评估:测试进度将会评估完成测试 所需要的时间 。在设定进度的时候,首先需要明测试范围(比如说这次增加一个D模块,部分功能会影响原来已经上线的B模块的功能)然后根据测试资源的多少来指定能被各方面认可的测试进度计划。

6. 回归测试(Regression Testing)策略:回归测试用来保证之前fifix bug的代码不会影响软件的其他部分,这样需要我们选择已经执行过的测试用例重新运行。测试人员需要找到一个方法来确定哪些测试用例应该在回归测试中运行,用例不能太多,因为资源有限,用例也不能太少,否则会达不到必须的测试强度。

7. 优先级:测试范围内的东西不会都是一样重要的,加上测试资源各种有限,所以为测试的模块排定优先级是十分的必要。

5、软件测试的模型

6、软件测试的生命周期