测试流程:
开发:编写概要和详细设计--- 编码并自测(开发环境)
立项(确定项目)--编写需求(需求人员)--需求评审(编写需求人员发起)-- ---------------部署环境(linux)---冒烟测试(通过)--提交bug---回归测试(测试报告)--验收测试--上线
测试: 测试用例--测试用例评审(测试人员发起)
软件测试分类:按阶段划分:单元测试,集成测试,系统测试,验收测试
按是否产看源代码划分:白盒测试和黑盒测试
黑盒测试:功能测试和性能测试
功能测试:逻辑功能测试,界面测试,易用性测试,安装测试,兼容性测试
性能测试:一般性能测试,稳定性测试,负载测试,压力测试
其他测试:冒烟测试,回归测试,随机测试
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证(白盒测试)
集成测试是单元测试的下一个阶段,是指将通过测试单元模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口部分(白盒测试,黑盒测试)
系统测试:指的是将整个软件系统看做一个1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。(黑盒测试)
验收测试:以用户为主的测试,软件开发人员和质量保证人员参加(黑盒测试)
黑盒测试(Black Box -Test)指的是把被测试的软件看做一个黑盒子,我们不去关心盒子里边的结构是什么样子,只关心软件的输入数据和输出结果
白盒测试(White Box Testing),指的是把盒子盖打开,去研究里边源代码和程序结构
功能测试是黑盒测试的一部分,它检查实际软件的功能是否符合用户的需求。功能测试可以细分逻辑功能测试,界面测试,易用性测试,安装测试和兼容性测试
性能测试:时间性能,一般性能测试,稳定性测试,负载测试,压力测试
回归测试是指对软件的新版本进行测试时,重复执行上一个版本测试时的用例,比如在1.0版本中,有一个bug,到了2.0版本中,再重新测试1.0中这个bug
冒烟测试指对一个软件进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性
随机测试是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误
软件生命周期模型:螺旋模型,V模型,W模型
螺旋模型:统一了瀑布模型与原型模型,与增量模型相似,更强调风险分析
1.软件分多个版本开发,每个版本就是一次螺旋。
2.每个版本按照这样的顺序进行:
1)确定软件目标,选取定实施方案,弄清项目开发的限制条件;(图中左上象限)
2)分析所选取方案,考虑如何识别和消除风险;(图中右上象限)
3)实施软件开发;
4)评价开发工作,提出修正建议,调整计划。(图中右下象限、左下象限)
3.需求不是一次获取和实现的,通过多个螺旋来完善。
4.计划也不是一次成型的,每次螺旋都需要调整。
优点:
1)设计上很灵活,可以在项目的各个阶段进行变更;
2)以小的分段来构建大型系统,使成本计算变得简单容易;(国企项目)
3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;
4)随着项目推进,客户始终掌握项目的最新信息 , 从而能够和管理层有效地交互;
5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
缺点:
螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的。
因此,这种模型往往适应于内部的大规模软件开发。该模型建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
V模型
V 模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段。
V 模型的优点在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系。
优点:
1 每一个阶段都清晰明了,便于控制开发的每一个过程。
2 既包含单元测试又包含系统测试。
缺点:
1 测试介入的比较晚,对于前期的一些缺陷无从发现和修改。
2 测试和开发串行
W模型
相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题
优点
1 测试伴随着软件的整个生命周期,例如,在需求分析结束后就可以进行需求分析测试。
2 测试于开发是并行独立进行的。
缺点
1 对有些项目,开发过程中根本没有文档产生,故W模型无法使用。
2 对于需求和设计的测试技术要求很高,实践起来很困难。