软件测试_基础知识

为了二月换工作做准备,把学习软件测试的知识都记录下来,方便自己以后复习,也方便大家浏览。

1.  开发模型——瀑布模型

需求——设计——编码——实现——软件测试——完成——维护

改进:测试要的等所有的开发完成了才开始,需要预留很多时间,而且如果有很大的问题,就容易影响项目上线,而且也不好改。(越早发现问题修改成本越低),每个阶段都融入小的迭代。

2.  开发快速原型模型

实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求。

优点:适合不能确定需求的软件。

缺点:不适合开发大型系统,因为容易归西,改到后面就有很大的问题了。

3.  测试 V 模型

需求分析、概要分析、详细设计、编码、单元测试(单一系统模块)、集成测试(所有模块)、系统测试、验收测试

4.  验收测试分为:

内测版(alpha)内部交流版本,可能存在很多 bug,不建议用户安装

公测版(beta)面向所有用户,通过用户的反馈再去修改细节,可以省钱。

候选版(Gamma),差不多就是正式版本

改进:自上而下逐步求精,每个阶段分工明确,便于整体项目可控,但是实际工作中,需求经常变,导致 V 步骤反复执行,费事费力,每个步骤都可以进行小的迭代工作

5.  W模型(开发一个 V ,测试一个 V 组合起来的模型:W 模型也叫做 双 V 模型)

改进:测试伴随整个开发周期,需求和设计同样要测试,更早介入测试,可以更早发现缺陷,方便项目整体管理。

6.  黑盒测试

又称数据驱动测试,完全不考虑从内部机构和特色,只注重软件测试的功能需求(不看代码)

分类:

      a. 功能测试:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试

      b. 性能测试(工资高):时间性能、空间性能、一致性能、稳定性、负载测试、压力测试

7.  白盒测试

研究程序结构和源代码

8.  随机测试

针对重要功能,新增加的功能,特殊情况,以前发现过重大 bug 的模块进行二次测试,也叫做探索测试,它可以结合回归调试来使用。

9.  软件测试分类

a、按阶段划分:单元测试、集成测试、系统测试

b、是否覆盖代码:白盒测试、黑盒测试(功能测试、性能测试)

c、是否运行:静态测试(不运行程序)、动态测试(运行程序)

d、其他:回归测试、冒烟测试、随机测试、验收测试

e、是否自动化:人工测试、自动化测试

10.  测试用例:测什么、怎么测

11.  等价类划分法

控制变量法,把所有类都分出来,取一个代表测试

思考步骤:确定有效等价类和无效等价类——有效等价类划分(题目条件,注意边界值)——无效等价类(有效等价类的补集,注意考虑中文、英文、特殊符号、空格、空)

⚠️:考虑输入长度、类型、组成规则、是否为空、是否区分大小写、是否重复、空格

 

原文地址:https://www.cnblogs.com/yaozhi/p/9996327.html