共同学习下软件测试的流程
近想从头回顾下软件测试,巩固下,从而更加有利于工作。
1、软件的周期
指的是从软件开始开发研制到最终废弃不用,所经历的各个阶段。
2、软件生命周期模型
2.1 瀑布型生命周期:——适用于非常大型的项目,此处注意
特点:逐级下落,具有顺序性和依赖性。
每个阶段都有规定文档产出并进行评审
![](http://n4.ikafan.com/assetsj/blank.gif)
瀑布模型流程
通过上面的图,可以看出瀑布模型耗时较长,是不够灵活的,如果在早期发生错误,在后期才发现的话,会导致耗时延长,不利于产品的输出,但是却能够保证整个系统软件具备比较好的质量。
2.2 V模型生命周期:
它是通过开发和测试同时进行的方式来缩短开发周期的,可以很好的提高效率。
![](http://n4.ikafan.com/assetsj/blank.gif)
V模拟流程图
针对上图,可以很容易看出,其每个阶段都有对应的测试用例输出:
a:验证测试阶段:用户根据用户需求,可以先给出验收测试用例;
b:系统测试阶段:产品经理根据需求分析,输出需求分析说明书文档
c:集成测试阶段:集成测试用例根据概要设计各个功能模块及接口等实现方法编写出来的;
d:单元测试阶段:单元测试用例是与详细设计一起出现的
在开发人员编写详细设计的同时,测试人员编写测试用例。
注意:V模型的用例编写顺序为:a\b\c\d,而测试顺序为:d\c\b\a,其中每个测试阶段都会经过软件生命周期的六个阶段。
————————————————————————————————
软件生命周期主要包含以下六个阶段:
一、问题的定义及规划——主要工作是调研
确定软件的开发目的及其可行性,指定项目总体开发计划。
二、需求分析阶段——需求评审+需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析,明确客户的需求,输出需求规格说明书,或者原型图,提交评审。——角色为:产品经理,开发,测试
三、设计——开发人员
把需求分析得到的结果转换为软件结构和数据结构,形成系统结构。
概要设计:主要是架构的实现
详细设计:把概要设计中表达的各个模块进行深入分析
四、编码:
按详细设计好的模块功能表,编程人员编写出程序,实现软件的各个功能。
五、软件测试:
在软件设计完成后,其是以发现软件在整个设计过程中存在的问题并加以纠正。
单元测试:主要是测试代码,一般是开发来完成了;
集成测试:单元测试后,将各个单元组合成完整的体系,测试接口;
系统测试:把软件系统搭建起来,按照软件规格说明书中的要求,测试软件性能,及功能;
验收测试:主要是用户在拿到软件时,在使用现场,会根据要求进行相应的测试,以确定符合要 求;
六、运行维护——对象是:新版本、新需求、修复未修复的bug
其为软件生命周期中持续最长的阶段,是在软件投入使用后,对软件进行的维护,包含有纠错性维 护和改进型维护。
——————————————————————————
2.3、 敏捷开发模拟——(产品需求----开发----测试)
其是一种以人为核心的,迭代的,循序渐进的开发方法。现在很多公司都是使用此种开发模型或者V模型。
此种模拟要主要:沟通很重要,沟通有利于项目的顺利进行;
迭代版本的测试;
3、软件测试的基本流程:(此处是很多面试或者笔试都会出现的)
测试需求分析阶段:阅读需求点,并进行熟悉,进行需求评审。目的是了解测试什么,了解功能;
测试计划阶段:主要是编写测试计划,参与测试需求规格说明、整体的计划,测试的范围,进度安 排等 ;(输出的文档是测试计划)
测试设计阶段:主要编写测试用例,会参与需求分析、概要设计、详细设计等文档的测试,用例编 写 完成后,会进行评审;(输出软件测试用例文档)
测试执行阶段:首先搭建测试环境,执行预测(冒烟测试),预测通过后,正式进行测试,遇到问题 提交到缺陷管理平台,并对bug进行跟踪管理直到被彻底解决为止。测试软件达到测 试要求,没有重大问题了,测试结束;
测试评估阶段:出测试报告,对整个测试过程和版本质量做个详细评估,查看是否能够上线;(输 出 测试报告)
针对软件测试的流程进行划块分类为:
a、需求分析与需求评审——测试需求分析阶段;
b、编写测试计划——测试计划阶段;
c、编写测试用例,用例评审——测试设计阶段;
d、搭建测试环境,进行冒烟测试与正式测试,提交bug并跟踪——测试执行阶段;
e、输出测试报告——测试评估阶段;
![](http://n4.ikafan.com/assetsj/blank.gif)