02-软件测试工作流程详解

一、需求分析

       参与需求评审会议,阅读并理解需求,主要就是熟悉业务,分析需求有哪些测试点,可以使用思维导图来记录测试点。例如:

获取测试点的思路:

(1)首先检查界面元素的显示是否正确。

(2)测试页面表单功能是否正常。

(3)针对表单测试时,需要对表单中的每个字段依次进行测试。凡是用户可输入的输入框内容,都要使用等价类划分法和边界值分析法,根据字段的约束条件进行测试。

(4)如果多个字段之间有关联关系或制约关系,那么在测试完单个字段的等价类和边界值之后,应该继续使用判定表等测试方法进行组合测试。

(5)当单个页面的内容都测试完毕后,再结合场景法等测试系统操作流程相关内容。

(6)系统操作流程测试完毕后,最后再使用错误推测法来确保没有遗漏的测试点。

二、编写测试计划

        参考需求规格说明书,安排测试人员在什么期限内、要测试哪些模块、提交哪些文档。通俗来讲,就是安排什么人在什么时间做什么事,最后产出什么东西。

1、编写目的
        此文档根据项目需求说明书,制定测试策略、评估测试风险、确定所需的资源,并对测试的工作量进行估计,安排测试人员和进度,并且列出测试项目的可交付元素。


2、参考文档
        项目需求说明书、详细设计文档、设计原型等。


3、测试概要
(1)测试目标

  • 测试已实现的产品是否满足需求,包括:各个功能点是否以实现,业务流程是否正确。
  • 系统运行是否稳定。
  • Bug数和缺陷率是否控制在可接收范围内,遗留bug一般不超过bug总数的10%。

(2)测试范围:最终需要交付的功能模块列表
(3)测试所需人力、资源是否满足
(4)测试环境:服务器环境、终端环境、网络环境等
(5)bug管理工具


4、测试规范
        开始测试的标准:代码编译通过,软件可以正常安装运行,冒烟测试通过等。
        中断测试的标准:安装无法正确完成、程序代码编译不通过、系统服务异常等。


5、bug严重程度

  • 致命【例如:软件的意外退出甚至操作系统崩溃,造成数据丢失】
  • 严重【例如:由于单功能失效导致多个相关功能失效】
  • 一般【例如:软件的单个功能失效】
  • 轻微【软件界面的细微缺陷,例如:某个控件没有对齐等】

6、测试策略
        冒烟测试:依据开发提测时间变动。
        第一轮功能测试:执行测试用例,包括边界值测试、兼容性测试、易用性测试、用户界面测试、安全性测试。
        第二轮功能测试:bug复测及功能验证。
        回归测试:全面回归测试。
        性能测试:需确认具体性能测试方案和工具。
        发布测试
        测试报告总结


7、测试风险
        测试时间不足、开发进度延误、难以修复缺陷、其它原因。

   

8、测试输出文档
        测试计划、测试用例、测试bug单、测试报告。

三、编写测试用例

        测试用例是一种用来具体说明如何执行测试操作并验证结果的文档。参考需求规格说明书、概要设计、详细设计等文档,编写测试用例,编写完成之后需要对其进行评审。

1、设计测试用例的方法

  • 等价类划分法【在规定了输入数据必须遵守的规则后,可确定一个有效等价类,即遵守规则的;也可确定若干个无效等价类,即从不同角度违反规则的】
  • 正交实验法【在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例】
  • 边界值分析法【选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值】
  • 错误推测法【在测试程序时,可以根据经验或直觉推测程序中可能存在的各种错误】
  • 判定表法【适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略】
  • 还有其它场景法和状态迁移法等

2、测试用例包含的字段
(1)用例编号【由字符和数字组成的字符串,具有唯一性、易识别性。例如:TC_Agileone_login_001,其中TC表示TestCase、Agileone表示系统名、login表示模块名、001表示用例编号】
(2)用例标题【用一句话来表述该条用例是测试哪个测试点的】
(3)优先级【一般分为高、中、低,用来对测试用例进行标记】
(4)预置条件【在执行该条用例时,系统需要预先达到的状态或条件】

(5)创建人

(6)创建时间

(7)所属模块
(8)操作步骤【执行当前用例需要执行的操作步骤,需要明确的给出每一个步骤的描述】
(9)预期结果【来自于需求,要求测试达到的结果】

(10)实际结果【实际操作系统之后得到的结果】

(11)测试结果【pass / fail / NA,其中pass表示预期结果与实际结果相同、fail表示预期结果与实际结果不相同、NA表示当前用例或模块无法操作】

   

3、建立需求跟踪矩阵

        根据产品需求、测试点和测试用例,建立一个三者映射关联的列表,这个表就叫做需求跟踪矩阵。其作用是:方便进行用例需求覆盖率的统计;若需求发生变更,可以根据需求跟踪矩阵快速定位哪些测试用例需要更新。

四、测试执行

        测试过程中发现bug,需要提交给开发人员进行修改,然后进行回归测试,验证开发人员是否修改完成。

1、测试环境搭建
        测试环境:硬件环境、软件环境
        硬件环境:测试必须的服务器、网络连接设备、打印机等硬件设备构成的环境。
        软件环境:被测软件运行的操作系统、数据库以及其它应用软件构成的环境。

   

2、执行测试用例
        根据测试用例优先级来执行测试用例

   

3、测试执行流程

        项目提测 - 冒烟测试 - 系统测试 - 回归测试 - 验收测试。

  • 冒烟测试:对提测的项目基本功能进行粗略测试,检查基本功能是否正常。
  • 系统测试:使用测试用例,对系统进行充分测试,当发现bug时,需要提交开发人员进行修改。
  • 回归测试:当开发人员修改完bug后,需要让测试人员重新进行测试,检查bug是否修改完成、是否引入了新的bug。
  • 验收测试:以用户为主,根据验收清单上规定的内容对最终产品进行测试。

        注:不同类型测试需要产出相对应的测试报告和缺陷报告,并将缺陷提交到缺陷管理库中

五、编写测试报告

        编写测试报告,确认是否可以上线。

1、测试报告

        测试报告模板:测试报告模板-资源下载。一般来说,公司会有其自己的测试报告模板,根据模板填写相关内容即可。

   

2、缺陷报告
(1)缺陷编号【由字符和数字组成的字符串,具有唯一性、易识别性。例如:Bug_Agileone_login_001,其中Bug表示缺陷、Agileone表示系统名、login表示模块名、001表示缺陷编号】
(2)用例编号【说明是执行哪个测试用例时,出现了该缺陷】
(3)测试模块
(4)预置条件
(5)Bug标题
(6)测试步骤【通过什么样的操作,可以复现该bug】
(7)预期结果
(8)实际结果

(9)缺陷状态

(10)严重程度【致命、严重、一般、轻微】

(11)优先级【高、中、低】

(12)重现率【该bug出现的概率】

(13)指派【指派给谁进行处理】

(14)测试环境

(15)软件版本

(16)测试日期

(17)测试人员

(18)附件【注:最好附加上一些截屏图片或log日志】

(19)备注

   

3、如何处理不能重现的缺陷?

(1)一定要详细描述遇到缺陷的过程和相关环境配置,如果有日志的话,一定要附上相关的操作日志或者系统运行日志。

(2)对于不可重现的缺陷,一定要尽量描述清楚复现率是多少。例如:10次测试中只出现了3次,那么复现率为30%。

(3)对于不可重现的缺陷,当开发人员将缺陷设置为fixed之后,在验证时,不能只在一个版本上验证缺陷是否修复,至少要在3个以上的版本中验证都没问题,才能将缺陷关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值