善变的狐狸:软件测试新人转行小白必看zhuanlan.zhihu.com
接上篇
软件测试的基本流程
1 需求分析阶段:
只要就是对业务(什么业务???)的学习,分析需求点。
2 测试计划阶段:
测试组长就要根据项目需求开始编写《测试计划》,其中包括人员,软件硬件资源,测
试点&#xff0c;集成顺序&#xff0c;进度安排和风险识别等内容&#xff08;大体理解如下<测试计划主要是对各种资源
进行调配&#xff08;资源种类有&#xff0c;人力、财力、物力、&#xff09;合理的规划布置任务。>&#xff09;。
3 测试设计阶段&#xff1a;
测试方案一般由对需求很熟的高资深的测试工程师设计&#xff0c;测试方案要求根据需求文档上
的每个需求点设计出包括需求点简介&#xff0c;测试思路和详细测试方法三部分的方案。《测试方案》
&#xff08;测试设计是测试方案吗&#xff1f;&#xff1f;&#xff09;编写完成后也需要进行评审。
4 测试方案阶段&#xff1a; 主要是对测试用例和规程的设计。测试用例是根据《测试方案》来编写&#xff0c;通过《测试
方案》阶段&#xff0c;测试人员对整个系统需求有了详细的理解。这时开始编写用例才能保证用例的
可执行和对需求的覆盖。测试用例需要包括测试项&#xff0c;用例级别&#xff0c;预置条件&#xff0c;操作步骤和预期
结果。其中操作步骤和预期结果需要编写详细和明确。测试用例应该覆盖测试方案&#xff08;个人理
解测试方案是指各种测试方法吗比如黑盒测试中的等价类划分法还是说里面包含了测试方
法&#xff0c;他们之间是什么关系&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff09;&#xff0c;而测试方案又覆盖了测试需求点&#xff0c;这样才能保证客户
需求不遗漏。同样&#xff0c;测试用例也需要评审。
5 测试执行阶段&#xff1a;
执行测试用例&#xff0c;及时提交有质量的 Bug 和测试日报&#xff0c;测试报告等相关文档。&#xff08;测试计
划&#xff09;
2、软件测试分为哪些方式&#xff1f;
1、软件测试的分类
按阶段分&#xff1a;单元测试、集成测试、系统测试、验收测试
按是否运行程序分&#xff1a;静态测试、动态测试
按内部结构&#xff08;是否查看代码&#xff09;分&#xff1a;黑盒测试、灰盒测试、黑盒测试
按性能分&#xff1a;功能测试、性能测试
其他测试&#xff1a;回归测试、冒烟测试、随机测试、压力测试、负载测试、
3、各分类的介绍
1 单元测试&#xff1a;
是指对软件中的最小可测试单元进行检查和验证。单元测试是在软件开发过程中要进行
的最低级别的测试活动&#xff0c;软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
2 集成测试&#xff1a; 也叫组装测试或联合测试。在单元测试的基础上&#xff0c;将所有模块按照设计要求&#xff08;如根据结
构图&#xff09;组装成为子系统或系统&#xff0c;进行集成测试。实践表明&#xff0c;一些模块虽然能够单独地工作&#xff0c;
但并不能保证连接起来也能正常的工作。一些局部反映不出来的问题&#xff0c;在全局上很可能暴露
出来。
3 系统测试&#xff1a;
是针对整个产品系统进行的测试&#xff0c;目的是验证系统是否满足了需求规格的定义&#xff0c;找出与
需求规格不符或与之矛盾的地方&#xff0c;从而提出更加完善的方案。
软件测试人员主要在这一个阶段执行测试
4 验收测试&#xff1a;
在软件产品完成了单元测试、集成测试和系统测试之后&#xff0c;产品发布之前所进行的软件测
试活动。它是技术测试的最后一个阶段&#xff0c;也称为交付测试。验收测试的目的是确保软件准备
就绪&#xff0c;并且可以让最终用户将其用于执行软件的既定功能和任务。
5 静态测试&#xff1a;
是指不运行被测程序本身&#xff0c;仅通过分析或检查源程序的语法、结构、过程、接口等来检
查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、
符号执行来找错。
6 动态测试&#xff1a;
是指通过运行被测程序&#xff0c;检查运行结果与预期结果的差异&#xff0c;并分析运行效率、正确性和
健壮性等性能。这种方法由三部分组成&#xff1a;构造测试用例、执行程序、分析程序的输出结果。
7 黑盒测试&#xff1a;
黑盒测试也称功能测试或数据驱动测试&#xff0c;它是在已知产品所应具有的功能&#xff0c;通过测试来
检测每个功能是否都能正常使用&#xff0c;在测试时&#xff0c;把程序看作一个不能打开的黑盆子&#xff0c;在完全不
考虑程序内部结构和内部特性的情况下&#xff0c;测试者在程序接口进行测试&#xff0c;它只检查程序功能是否按照需求规格说明书的规定正常使用&#xff0c;程序是否能适当地接收输入数锯而产生正确的输出
信息&#xff0c;并且保持外部信息&#xff08;如数据库或文件&#xff09;的完整性。
8 灰盒测试&#xff1a;
灰盒测试&#xff0c;确实是介于二者之间的&#xff0c;可以这样理解&#xff0c;灰盒测试关注输出对于输入的正确
性&#xff0c;同时也关注内部表现&#xff0c;但这种关注不象白盒那样详细、完整&#xff0c;只是通过一些表征性的现
象、事件、标志来判断内部的运行状态&#xff0c;有时候输出是正确的&#xff0c;但内部其实已经错误了&#xff0c;这
种情况非常多&#xff0c;如果每次都通过白盒测试来操作&#xff0c;效率会很低&#xff0c;因此需要采取这样的一种灰
盒的方法。
9 白盒测试&#xff1a;
白盒测试也称结构测试或逻辑驱动测试&#xff0c;它是知道产品内部工作过程&#xff0c;可通过测试来检
测产品内部动作是否按照规格说明书的规定正常进行&#xff0c;按照程序内部的结构测试程序&#xff0c;检验
程序中的每条通路是否都有能按预定要求正确工作&#xff0c;而不顾它的功能&#xff0c;白盒测试的主要方法
有逻辑驱动、基路测试等&#xff0c;主要用于软件验证。
10 功能测试&#xff1a;
就是对产品的各功能进行验证&#xff0c;根据功能测试用例&#xff0c;逐项测试&#xff0c;检查产品是否达到用户
要求的功能。
11 性能测试&#xff1a;
过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进
行测试。
12 回归测试&#xff1a;
是指修改了旧代码后&#xff0c;重新进行测试以确认修改没有引入新的错误或导致其他代码产生
错误。
13 冒烟测试&#xff1a;
是对软件基本的功能进行测试&#xff0c;测试的对象是每一个新编译的需要正式测试的软件版本&#xff0c;
目的是确认软件基本的功能正常&#xff0c;保证软件系统能跑的起来,可以进行后续的正式测试工作&#xff0c;
如果最基本的测试都有问题&#xff0c;就直接打回开发部了&#xff0c;所以正式交付测试的版本必须首先通过
冒烟测试的考验。
14 随机测试&#xff1a;
要是根据测试者的经验对软件进行功能和性能抽查。
15 压力测试&#xff1a;
压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷&#xff0c;长时间或超大负荷
地运行测试软件&#xff0c;来测试被测系统的性能、可靠性、稳定性等。简单的说&#xff0c;压力测试就是检
验持续抗压的能力。
16 负载测试&#xff1a;
通过测试系统在资源超负荷情况下的表现&#xff0c;以发现设计上的错误或验证系统的负载能力。
简单的说&#xff0c;就是检验极限的承受力。