目录
前言
几个常见的名词
需求
什么是BUG
测试用例
软件生命周期
开发模型
瀑布模型
螺旋模型
增量和迭代模型
敏捷模型
前言
什么是软件测试
- 软件测试就是验证产品特性是否满足用户需求
- 开发软件是为了盈利,必须满足用户才会盈利
测试和调试的区别
- 目的 测试是为了找出软件中的错误,调试是找出错误并解决错误
-
人员 测试有测试人员和开发人员 调试只有开发人员(单元测试,集成测试)
-
阶段 测试是贯穿整个软件的生命周期 调试是在编码阶段
优秀的测试人员需要的能力
- 快速学习能力
- 沟通能力
- 文字能力
- 开发能力
- 掌握自动化技术 (项目测试+技术事务)
- 编写优秀的测试用例
- 探测性思维
- 责任感和抗压能力
- 对测试感兴趣
几个常见的名词
需求
- 满足用户的期望或者正式文档(合同,标志,规范)所具有的条件和权能,包含用户的需求和软件需求
-
用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成 的任务。该需求一般比较简略。
-
软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。
-
大多数公司在进行软件开发的时候会把用户需求转化为软件需求,开发人员和测试人员工作的直接依据就是软件需求
- 需求是测试人员开展软件测试工作的依据,因为测试用例依赖于需求
![](https://img-blog.csdnimg.cn/310e654ce2444c1099947998053aed6d.png)
需求的重要性
-
从软件功能需求出发,无遗漏的识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率
-
对于识别出的每个测试需求点,需要采用具体的设计测试用例的方法来进行测试用例的设计
如何才可以深入理解被测试软件的需求
-
在需求分析和设计阶段就开始介入,因为这个阶段是理解和掌握软件的原始业务需求的最好
什么是BUG
![](https://img-blog.csdnimg.cn/432e5ed5429544a79f96c9668518392e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bqT6YeM5LiN5Lya5oqV5LiJ5YiG,size_16,color_FFFFFF,t_70,g_se,x_16)
-
注意:以上说法是片面的,准确的来说:
当且仅当规格说明是存在的并且正确,程序与规格说明之间的
不匹配才是错误
-
当需求规格说明书没有提到的功能,判断标准以最终用户为准:
当程序没有实现其最终用户合理预期的
功能要求时,就是软件错误。
测试用例
实例
![](https://img-blog.csdnimg.cn/b2ad6b920d3741a7a6e85e98d1047cb5.png)
为什么要设计测试用例
围绕着软件需求去设计测试用例,防止重复测试,原则:防止测试用例用过即弃
软件生命周期
- 需求分析:分析用户的需求是否合理,转换为软件需求,由产品经理完成(市场分析,技术分析..)->软件需求文档
- 计划:制定需求执行计划
- 设计:将需求细化成一个个子任务,进行技术设计(设计那些接口,采用那些技术)——>设计文档
- 编码:开发人员按照需求文档以及设计文档来进行编码
- 测试:测试人员参考调用用例来执行测试
- 运行维护:项目上线后对产品进行先上的维护 修复性维护,完善性维护 预防性维护
开发模型
瀑布模型
![](https://img-blog.csdnimg.cn/d037036f2053484991c3ad65a656c705.png)
- 瀑布模型最主要的特点就是线性开发,就是一定要按照这些步骤执行
- 缺陷:不能去应对需求的变化 测试被后置 风险往往在后期才显现,因而失去了及早修正的时间 必须要有足够的时间预留给测试活动,否则测试不充分,从而直接把缺陷留给用户 可运行的产品很迟才能被看见
- 优点 : –强调开发的阶段性; –强调早期计划及需求调查;
- 适用场景 需求固定的小项目
- 但是它是其他模型的基本框架
螺旋模型
![](https://img-blog.csdnimg.cn/f271d53c50554d9193c29f1cdfb1b7e7.png)
增量和迭代模型
![](https://img-blog.csdnimg.cn/c313d0fceada43838d652ad43fb27015.png)
明确增量和迭代的区别
![](https://img-blog.csdnimg.cn/da9fbb18d271455ea2d091dcee203f78.png)
敏捷模型
敏捷宣言
![](https://img-blog.csdnimg.cn/ea048b24ad2145f792378819f04c8e6d.png)
scrum
- 三角色,五个会议
- 产品经理:收集用户的需求。编写需求文档,对产品负责的人
- 项目经理:负责召开各种会议,协调项目,为研发团队服务
- 研发团队:开发人员,测试人员,ui设计人员等
五个会议
![](https://img-blog.csdnimg.cn/908f2ba906044712926cabc22cd0c001.png)
![](https://img-blog.csdnimg.cn/a17938f30fa44e03be568a071e000c40.png)
例子
![](https://img-blog.csdnimg.cn/aee91772efcb4fada5637bb47dc3d316.png)
测试模型
软件测试v模型
- 每个开发阶段对应测试阶段
- 概要设计整体构建,框架
- 详细设计设计模块与模块之间的详细设计
- 集成测试和单元测试通常由开发人员来执行
- 特点:明确标注了测试的类型 明确标注了测试阶段和开发阶段之间的对应关系
- 缺点:测试任然是在开发之后才执行,测试后置
软件测试W模型
![](https://img-blog.csdnimg.cn/28bc3c962851454d90a7b77cce0510b4.png)
- 测试从需求阶段就开始介入了
- 缺点:1上一个阶段完成了下一个阶段才能完成 2开发模型和测试模型也保持着一种前后的线性关系
-
优点:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度
和测试风险,及早制定应对措施,显著减少总体测试时间,加快项目进度。
- 重文档,重过程,不支持其敏捷模式
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)