- 测试流程
开发:编写概要和详细设计--- 编码并自测(开发环境)
立项--编写需求--需求评审--- ----部署环境(linux)---冒烟测试(通过)--提交bug---回归测试(测试报告)--验收测试--上线
测试: 测试用例--测试用例评审
- 测试计划
测试背景,测试目的,确定测试范围,制定测试策略,
测试资源安排,测试时间安排,测试人员分配,风险评估
- 缺陷报告
所属产品,所属模块,当前指派(重要),bug类型,操作系统,重现步骤(重要),验证程度(重要),优先级(重要),附件
- Bug生命周期
由测试人员发现并提交,状态标注为新建;开发人员接收了该Bug,将Bug的状态修改为已分配,表示已认可;开发人员解决了该Bug后,将Bug的状态修改为解决,并发给测试人员回归测试;测试人员对Bug进行回归测试,如果确实已经解决,就将Bug的状态修改为关闭,否则发给开发重新修改。需要注意的Bug是可以“死而复生”的,以前版本已经关闭的Bug,如果新版本中重新出现,就将其状态修改为重新打开。
- Bug优先级
1级系统崩溃,定义:严重阻碍测试和开发工作
对应优先级:最高,功能完全没有实现
2级至关重要,定义:非阻碍用例执行的严重问题
对应优先级:高,简单操作应用闪退/崩溃,卡死
3级主要,定义:功能存在缺陷,但不影响应用和系统的稳定性
对应优先级:中,内存泄露,功能实现逻辑覆盖不全面
4级一般,定义:对应用熟悉度高才能感知到的问题,对应用基本功能实现无影响
对应优先级:中,轻微数值计算错误
5级较小,定义:界面,性能缺陷
对应优先级:低,操作界面错误
6级建议,定义:对于产品的意见或者建议
对应优先级:低,对于产品设计方面的意见和建议
- 测试分类
按照阶段分:
单元测试:是指对软件中的最小可测试单元进行检查和验证
集成测试:集成测试是单元测试的下一个阶段,是指将通过测试单元模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口部分。
系统测试:指的是将整个软件系统看做一个1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
验收测试:以用户为主的测试,软件开发人员和质量保证人员参加
按照是否查看源代码划分:
白盒测试:指的是把盒子盖打开,去研究里边源代码和程序结构(单元测试,ui/接口自动化测试)
黑盒测试:把被测试的软件看做一个黑盒子,我们不去关心盒子里边的结构是什么样子,只关心软件的输入数据和输出结果
功能测试:
逻辑功能测试:测试应用是否符合逻辑,比如应该先注册账号之后,才能进行登录,登录之后才能看我的购物车
界面测试:窗口大小,按钮大小,点击按钮弹出什么样的提示框,是否有滚动条,下拉菜单是否有展示内容
易用测试:从软件使用的合理性和方便性等角度对软件系统进行检查,比如,软件窗口长宽比例是否合适,颜色色彩是否赏心悦目,字体大小是否合适
安装测试:安装磁盘空间不足,安装中断(关闭程序,关机,,)下次安装时是否继续上次的安装等
兼容测试:硬件兼容性测试和软件兼容性测试(硬件:笔记本,主机上是否兼容,软件在系统上是否兼容)
性能测试:
一般性能测试
稳定测试:
负载测试:让被测系统在其能够忍受的压力范围之内连续运行,来测试系统的稳定性。(测试载重)
压力测试:持续不断的给被测试的系统增加压力,直到被测试的系统压垮为止,用来测试系统所承受的最大压力。(测试强度)
其他:
回归测试:回归测试是指修改了旧代码后,重新在新环境上进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
冒烟测试:指对一个软件进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
随机测试:是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误
- 测试的设计点(纸杯 2台或者多台电梯联动)
功能测试,界面测试,性能测试,安全测试,易用测试
- 测试模型
V模型描述:
用户需求---需求分析---概要设计---详细设计--软件编码---单元测试---集成测试---系统测试---验收测试
V 模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分是各测试过程的各个阶段。
优点: 1 每一个阶段都清晰明了,便于控制开发的每一个过程。
2 既包含单元测试又包含系统测试。
缺点: 测试介入的比较晚,对于前期的一些缺陷无从发现和修改,测试和开发串行。
W模型描述:
开发:需求分析----概要设计----详细设计-----编码-----------集成-----------实施----------交付
测试:系统分析----概要设计----详细设计----单元测试-----集成测试----系统测试----验收测试
相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题
优点: 测试伴随着软件的整个生命周期,在需求分析结束后就可以进行需求分析测试。测试与开发是并行独立进行的。
缺点: 1 对有些项目,开发过程中根本没有文档产生,故W模型无法使用。
2 对于需求和设计的测试技术要求很高,实践起来很困难。