软件生命周期
计划:项目经理编写项目计划书,计划书内容3W(who/when/what)多少人花多少时间做什么事
需求分析:需求分析工程师/产品人员与客户反复沟通,将客户的需求转化成专业的表达,需求规格说明书(SRS)
设计:系统架构工程师,设计软件的基本框架,概要设计说明书(HLD)
编码:开发工程师,设计实现软件的思路,详细设计说明书(LLD),编写代码
测试:测试工程师,检验实际结果与预期结果是否一致,需求是否有遗漏
维护:技术支持工程师,版本更新
?
软件测试的概念
找出软件的bug,提升软件质量,加深对被测软件的认识(优点,问题,瓶颈)
?
软件测试的目的
证明软件可用,找bug,预防bug
?
缺陷bug
缺陷不仅仅指功能问题(界面,用户体验,颜色,响应时间……)
错误通常是人为导致的,错误在一定场景下触发成为缺陷,缺陷(bug/defect)可能引发故障,故障(fault)处理不好可能引发失效(failure)
?
研发组织(大公司职位分明,小公司身兼数职)
研发组织架构:
开发部门:需求、架构、设计、开发
测试部门:测试、测试开发
质量部门:QA、CMO、管理人员
?
?
常用模型
瀑布模型(适用需求全面且变更极少的情形,对项目周期要求不高OA系统)(掌握)
特点:将软件生命周期各个阶段按照固定顺序从上到下依次执行
V模型(适用需求变更不频繁的情形)
双V模型(掌握)
特点:一个V代表开发活动,一个V代表测试活动,开发和测试并行,测试设计和测试执行分离,先设计,再执行,测试设计和测试执行顺序相反
优点:测试介入较早,有利于发现和预防bug
缺点:测试设计对开发活动的依赖性较强
螺旋模型(适合大型项目或软件的第一个版本)
敏捷模型(适合互联网项目,需求变更频繁的项目)
测试过程
软件测试的四个阶段
单元测试(一般由开发人员完成)
集成测试(一般由开发人员完成)
系统测试(由测试人员完成)
验收测试
检查代码是否把用户需求都实现了
第三方验收(正式验收):花钱请第三方专业团队做验收测试
用户验收(非正式验收):
阿尔法α测试(内部人员在受控的环境[开发环境]下测试,测试结果可以得到立即反馈);
????贝塔β测试(用户在不受控环境[公网]下测试,测试结果不能得到立即反馈)
单元测试/集成测试/系统测试的关联与区别:
????执行顺序:单元测试>集成测试>系统测试>验收测试
????测试角度不一样:单元测试是针对最小单位函数来测试的,集成测试是针对集成后的模块功能以及模块与模块之间的接口来测试的,系统测试是针对系统功能来测试的
????每个阶段测试方法不一样:单元测试以白盒测试方法为主;
????????????????集成测试以灰盒测试方法为主;
????????系统测试以黑盒测试方法为主。
????评估基准不一样:单元测试的评估基准主要是逻辑覆盖率;
????????????????????集成测试的评估基准主要是接口覆盖率;
????????????????????系统测试的评估基准主要是测试用例对规格要求的覆盖率;
回归测试
回归测试的概念:
检验开发是否把bug修改正确的过程,四个阶段都有回归测试
检验版本的旧功能
回归测试的目的:
验证开发人员是否成功修复了bug
验证开发人员修复bug后没有引入新的bug
回归测试方案:
完全回归
选择性回归:具体细分方法有
覆盖修改法
周边影响法
指标达成法
????注意:回归测试存在于测试过程中,可以再四个阶段都发生,它有自己的测试方法,并不作为测试方法存在
?
软件测试的四个活动
测试计划
主要参与人员:测试经理
编写文档:测试计划书
文档内容:3W人员分工,时间安排,测试范围
参照文档:项目计划书,需求规格说明书(SRS)
测试设计
主要参与人员:高级或资深测试工程师
编写文档:测试方案
文档内容:规划测试工作怎么做
参照文档:测试计划,需求规格说明书(SRS)
测试实施/实现
主要参与人员:普通测试工程师
编写文档:测试用例、测试规程(编写测试用例是测试人员基本技能之一)
文档内容:描述在什么条件下使用什么数据做什么操作达到什么预期结果
参照文档:测试计划,需求规格说明书(SRS),测试方案
测试执行
搭建测试环境
执行测试用例(测试人员基本技能之一):按照测试用例文档操作软件,检查测试结果是否与预期结果一致,一致则测试通过,不一致则需要提交bug,然后跟进bug解决。
提交缺陷报告:将bug列表通过邮件发送给测试经理,开发经理,项目经理及其他相关人员,项目经理据此把控项目进度及节奏
提交测试日报:测试工程师发邮件给相关人员,描述当天的工作内容,通常包括,执行了多少测试用例,发现了多少bug,遇到的问题,存在的风险,何时能测试完毕
提交测试报告:可能分阶段提交,也可能是项目测试完毕只提交一次;通常由测试经理编辑邮件,内容包括使用了多少人力,花了多长时间测试,写了多少测试用例,执行了多少测试用例,发现了多少bug,解决了多少bug,有多少bug未解决,bug未解决的原因(最终遗留的bug一般是由于当前技术手段无法解决,是和开发经理确认过的),版本是否测试完毕或是否可发布的结论。项目经理据此判断当前版本是否可发布。
?
项目文档
需求规格说明书(SRS)
概要设计说明书(HLD)
详细设计说明书(LLD)
编写者:开发工程师
项目阶段:编码阶段
内容:描述函数的内部逻辑
代码
其他文档:测试计划,测试方案,测试用例,缺陷报告,测试日报,测试报告,项目计划,用户手册……
测试基础理论一
原文:https://www.cnblogs.com/dingchuang666/p/13549135.html