目录
一、软件测试的定义
(出自《测试架构师修炼之道》)
二、软件的生命周期
生命周期 | 细分 | 工作内容 |
问题的定义和规划 | 开发方和需求方共同讨论,主要是确定软件的开发目的及可行性。制定开发计划 | |
需求分析 | 对软件需要实现的各个功能进行详细分析,弄清楚用户对软件系统的全部需求, 产出《需求规格说明书》 | |
软件设计(把需求分析结果转换成软件结构和数据结构,形成系统架构) | 概要设计 | 主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等事务 |
详细设计 | 对各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到伪代码级别,把程序具体要实现的功能、现象等描述出来,其中包含数据库设计说明 | |
软件编码 | 按照详细设计好的模块功能表,编程人员开始编写代码 | |
软件测试(在软件编写完成后要经过严密的测试,以发现问题并加以纠正) | 单元测试 | 主要是测试程序代码,为的是确保各单元模块被正常编译。有具体到模块的测试,也有具体到类、函数的测试等 |
集成测试 | 单元测试后,将各单元组成完整的体系,测试软件单位之间的接口是否正确,数据能否正常传递 | |
系统测试 | 把软件系统搭建起来,按照《软件规格说明书》中的要求对各项功能进行测试,看是否符合需求、在系统运行是否存在漏洞等——根据测试用例,进行完整的系统测试 | |
验收测试 | 客户拿到软件后,根据前面所提的需求以及《规格说明书》来做相应的测试,已确定软件是否符合需求效果 | |
运行维护 | 是生命周期中持续时间最长的阶段,为了延长软件的使用寿命,适应用户需求,就必须对软件进行维护。包括纠错性维护和改进性维护 |
三、软件测试的基本流程
测试流程 | 工作内容 |
需求分析阶段 | 阅读需求,理解需求,主要就是对业务的学习,分析需求点 |
计划阶段 | 主要任务是编写测试计划,参考软件需求规格说明书,项目总体计划,测试范围,进度安排,人力物力的分配,整体测试策略的指定,和风险的评估与规避措施有一个指定,一般有测试经理编写 |
设计阶段 | 主要任务是编写测试用例,会参考需求分析、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通。用例编写完成后会进行评审 |
执行阶段 | 首先搭建测试环境,执行预测,以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交bug到缺陷管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束 |
评估阶段 | 编写测试报告,对整个测试的过程和版本质量做一个详细的评估 |
四、测试点、测试用例、bug与测试报告
(出自《软测之魂核心测试设计详解》)
4.1 测试方案设计
4.2 测试点、测试用例设计
4.3 bug的基本知识
4.4 测试报告设计