掌握测试基础是测试人员的基本功
基础是重要的东西,没有根基的人,将来走任何一条路路都比那些基础深厚的人来得辛苦和单薄
软件测试工作流程
软件测试随着软件的产生而产生的,近年来,软件行业的迅猛发展,让软件测试停在手工测试的水平已不能满足软件项目的需要。要了解软件测试,首先要知道软件测试工作的流程是怎样的。
下面我们就来看一下,软件开发过程中,开发人员与测试人员的工作流程吧!
1、开发流程:
需求分析--需求评审(通过)--开发编写开发计划--概要设计--详细设计--编码--单元测试--转测--部署环境--修复bug等等验证(N轮)--测试通过--发布上线
2、测试流程:
需求分析--需求评审(通过)--编写测试计划--设计测试用例--用例评审(通过)--等待提测--部署测试环境--冒烟测试(通过)--系统测试--提交bug并跟踪解决(N轮)--测试通过--输出测试报告--发布上线
接下来我们就一步一步来看看测试人员的工作流程,第一步就是测试需求分析啦!这部分是关键,影响着你对项目的理解与接下来的测试过程。因为你是需要根据需求来分析测试点,再根据测试点来编写测试用例的。
软件测试需求分析
一、什么是测试需求分析
确切地讲,所谓的测试需求就是在项目中要测试什么。我们在测试活动中,首先需要明确测试需求(What),才能决定怎么测(How),测试时间(When),需要多少人(Who),测试的环境是什么(Where),测试中需要的技能、工具以及相应的背景知识,测试中可能遇到的风险等等,以上所有的内容结合起来就构成了测试计划的基本要素。而测试需求是测试计划的基础与重点。
二、软件测试需求分析的目的
测试需求分析的主要目的:依据需求文档提取测试点,根据测试点来编写测试用例。
三、为什么要做测试需求分析
1.需求分析的必要性
如果要成功的做一个测试项目,首先必须了解测试规模、复杂程度与可能存在的风险,这些都需要通过详细的测试需求来了解。所谓知己知彼,百战不殆。测试需求不明确,只会造成获取的信息不正确,无法对所测软件有一个清晰全面的认识,测试计划就毫无根据可言。活在自己世界里的人是可悲的,只凭感觉不做详细了解就下定论的项目是失败的。
测试需求越详细精准,表明对所测软件的了解越深,对所要进行的任务内容就越清晰,就更有把握保证测试的质量与进度。
2.不做需求分析的后果
不做需求分析或需求分析不到位,可能会产生很严重的问题,比如:
(1)浪费时间和资源实现了用户不需要的需求。
(2)遗漏了需求文档中没提到,但很重要的需求,导致客户满意度降低。
(3)需求分析不到位,错误的估计了测试的工作量,导致延误发布周期,可能会降低发布质量。
以上的几个问题,在实际开发中是比较常见的,主要的原因就是需求分析不到位,会导致影响客户的满意度。
四、测试需求分析方法
通常是以被测产品的需求为原型进行分析转变而来,测试需求主要通过以下途径来进行收集:与待测软件相关的各种文档资料。如软件需求规格、Use case、界面设计、项目会议或与客户沟通时有关于需求信息的会议记录、其他技术文档等。
1.软件测试明确需求范围
了解该需求是为了解决用户的什么问题。功能性需求:产品必须有的功能,非功能性需求:是否美观,用户体验,稳定性,易用性等。
最容易忽略的一点:明确的需求背后所隐藏的需求(例如登录,明确的需求是,正确输入用户名,密码,才能登录。隐性需求:用户名字符类型,长度,是否可为空;密码字符类型,长度等)
2.画业务流程图
根据需求中规定的业务流程,明确各业务流程分支,以及业务原因规定不可使用的业务流程。
3.功能点整理(思维导图)
业务功能:需求中所定义的实际业务直接相关的功能
数据约束:主要是用于控制在执行功能时,数据的显示范围、数据之间的关系等。
易用性需求:便于功能操作使用的一些细节,比如快捷键就是典型的易用性需求。
编辑约束:在功能执行时,对输入数据项目的一些约束性条件,比如只能输入数字。
权限需求:不同的权限所能操作的功能点的不同
4.提取测试点(测试需求文档)
根据整理的思维导图,去提取每一个功能点中的细节需求,例如新增员工,在思维导图中,最小的颗粒度就到新增员工了,但是新增员工这个功能仍然有很多的需求点,员工姓名唯一性判定,手机号码是否必填等,这些更细的需求点组合起来就形成了测试需求文档。
5、确定测试范围
需求的确定,并不代表测试范围就是该需求的范围,很有可能一个需求分多个软件版本来实现,最后确定哪些需求是需要测试的。明确哪些测试目标优先级高,哪些目标优先级低,要完成哪些相应的测试任务才能确保目标的实现。
每天都要进步一点点,要知道学无止境哦~加油加油加油!