软件测试工程师为什么要写测试用例?相信从事软件测试行业的从业者来讲,测试用例并不陌生。因为测试用例不仅仅是一组简单的文档,它包含前提条件、输入、执行条件和预期结果等等重要内容,并且能够完成一定的测试目的和需求。下面本文将从测试用例的定义、作用和做法三方面,带大家全面认识测试用例。
1、测试用例的概念![](https://i-blog.csdnimg.cn/blog_migrate/8c4bfc266dd6e6884f48c8a7820723a1.png)
测试用例是将软件测试的行为活动做一个科学化的组织归纳,其目的是软件测试工程师能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。
(1)测试用例的的设计方法
总的来讲,测试用例的的设计方法有黑盒测试和白盒测试。黑盒测试也叫功能测试,黑盒测试主要针对软件界面和软件功能进行测试。白盒测试又叫结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,主要对所有逻辑路径进行测试。
(2)测试用例的主要内容
测试用例主要包含:容编号、日期、设计和测试人员、优先级、标题、目标、环境、输入数据/动作、预期结果。
2、测试用例的作用
(1)前提和基础
测试用例构成了设计和制定测试过程的基础。因此可以说,没有测试用例就难以开展软件测试的相关工作。测试设计和开发的类型以及所需的资源主要都受控于测试用例。在指导软件测试工作的前提下,测试用例的重要性也是不言而喻。
(2)深入了解需求
一个项目立项开始,测试就开始介入,我们从产品的需求文档、原型图,效果图等相关文档去熟悉产品的各个模块,各个业务流程。或者在产品规划和设计阶段,测试开始熟悉产品。而编写用例的过程中,会充分的思考产品需求的细枝末节,需求的不合理、有矛盾、不明确的地方,还能对产品提出更好的建议,监督产品对需求做出更加详细的设计。整个过程是对需求深入了解的过程,产品的整个印象都在测试脑海里。
(3)加大测试深度
测试的“深度”与测试用例的数量成比例。由于每个测试用例反映不同的场景、条件或经由产品的事件流,因而,随着测试用例数量的增加,测试人员对产品质量和测试流程也就越有信心。
(4)安排测试进度
测试工作量与测试用例的数量成比例。根据全面且细化的测试用例,可以更准确地估计测试周期各连续阶段的时间安排。
(5)深入发现潜藏缺陷
软件测试工程师在执行用例的过程中往往会突然发现当初设计的用例步骤中,还可以做这样一个操作,于是发现了bug,这又体现了测试用例的作用, 帮助发现拓展测试范围,扩大测试覆盖面,发现软件中潜藏的缺陷。
(6)制定分析标准
通过收集缺陷,对比测试用例和缺陷数据库,分析确证是漏测还是缺陷复现。漏测反映了测试用例的不完善,应立即补充相应测试用例,最终达到逐步完善软件质量。而已有相应测试用例,则反映实施测试或变更处理存在问题。
3、测试用例的做法
测试用例可以分为基本事件、备选事件和异常事件。设计基本事件的用例,应该参照用例规约(或设计规格说明书),根据关联的功能、操作按路径分析法设计测试用例。而对孤立的功能则直接按功能设计测试用例。基本事件的测试用例应包含所有需要实现的需求功能,覆盖率达100%。
设计备选事件和异常事件的用例,则要复杂和困难得多。例如,字典的代码是唯一的,不允许重复。测试需要验证:字典新增程序中已存在有关字典代码的约束,若出现代码重复必须报错,并且报错文字正确。往往在设计编码阶段形成的文档对备选事件和异常事件分析描述不够详尽。而测试本身则要求验证全部非基本事件,并同时尽量发现其中的软件缺陷。
可以采用软件测试常用的基该方法:等价类划分法、边界值分析法、错误推测法、因果图法、逻辑覆盖法等设计测试用例。视软件的不同性质采用不同的方法。如何灵活运用各种基该方法来设计完整的测试用例,并最终实现暴露隐藏的缺陷,全凭测试设计人员的丰富经验和精心设计。
软件测试工程师为什么要写测试用例?归根究底,测试用例就是用来检验软件测试的质量。所以软件测试工程师在执行软件测试的流程中,首先就是要写好软件测试用例。同时写好测试用例,也是检验软件测试工程师的基础能力的衡量标准。
四、如何编写测试用例?
固然,编写一份好的测试用例需要:充分的需求分析能力 + 理论及经验加持。 但这并不意味着,没测试经验、分析能力弱就不能写好用例,还是有方法可循的。接下来我会从以下几个方面展开来讲:
测试用例概念、作用、内容等介绍
如何编写测试用例?
微信发送朋友圈案例分享
一、测试用例介绍
测试用例是为项目需求而编制的一组包含测试输入、执行条件以及预期结果的文档,以便测试某个程序是否满足客户需求。
1、为什么要写测试用例?
是测试工作的指导,是软件测试质量稳定的根本保障,评估测试结果的基准。
有一份用例来指导测试执行,可以在测试人员疲累的时候起到一个牵引作用。
编写用例的过程中,通过熟悉需求,对系统架构或业务有更深入理解
可避免测试背锅
2、测试用例模板:每家公司模板可能会有差异性,一般大致包含以下内容
用例编号:唯一性,一般规则:产品名_测试阶段(it st uat)_测试项_数字
测试项目:对应一个功能或子功能模块
测试标题:一句话总结当前测试的用意和目的
重要级别:高/中/低
预置条件:需要满足一些前提条件,否则用例无法执行
测试输入:需要加工的输入信息,跟步骤结合起来一定要具有指导性意义
操作步骤:明确给出每个步骤的描述,执行人员可以根据该步骤完成执行工作
预期结果:根据预期输出比对实际结果,来判断被测对象是否符合需求
实际结果:通过测试执行后的实际结果,写用例时为空。
3、测试用例编写形式
通过 Excel 编写,上述给出的模板就是该种形式 ,适用于项目开发时间比较充分的情况下
通过 Xmind 梳理测试点,适用于项目开发时间紧急情况下
项目管理平台例如禅道上编写,不常用
二、如何编写测试用例
大体思路分为三步:
第 1 步:依据需求梳理功能及功能点
第 2 步:通过测试理论方法及经验,梳理测试点
第 3 步:挖掘隐性需求,覆盖非功能测试层面
举例: 微信朋友圈动态发送
第 1 步,依据需求梳理功能及功能点
简而言之,就是把你能看得到的功能及功能点梳理出来。公司一般都有产品需求资料,例如需求规格说明书文档、原型图、UI 设计图;当没有任何需求资料情况下,可以通过操作软件来熟悉业务。像发送朋友圈,我们可以先功能模块—> 再子功能—> 再到功能需求细节来梳理,注意一些不明确的需求细节需要及时跟产品确认。大致梳理如下:
第 2 步:通过测试理论方法及经验,梳理测试点
这一步非常重要,依据需求梳理完功能点后,接下来我们需要针对每个功能点拆分整理具体的测试点,这时候我们需要设想用户操作的所有情况,包含到正常及异常场景。
我们需要同时具备测试理论方法和测试经验,才能较好地设计出一份全面可靠的测试用例。常见的测试用例设计方法包括:等价类划分、边界值分析、判定表、因果图、错误推测法、场景法、正交试验法、状态迁移法等。测试经验需要多个项目测试的积累及沉淀。对于测试新人来说,测试经验可能趋于 0,这个时候可以先借鉴一些前人的经验。对于此,我曾经整理过一份资料,很多测试新人用过资料后都觉得对测试用例有了豁然开朗的感觉,知道怎么去写用例了。
这份资料分享如下:
注:这份资料我们可以用在任何的软件产品的分析上面,从本质上来说,任何一款基于用户角度操作的软件产品,操作功能无外乎都是对数据做增删改查,所以当需要对软件产品进行分析编写测试用例时,我们可以依据当前功能是增删改查的哪一个操作,用上面梳理的测试点来套用编写用例。按增删改查操作来梳理,分为:
表单测试:涉及到数据提交的页面,包含新增或删改数据页面
搜索测试:为数据查询的页面
删除测试:为数据删除的页面
cookies、session 等测试:用户操作角度,补充测试
数据库测试:页面添加、修改、删除、查询业务相关操作,就是对数据库数据的增改删查
通过测试理论方法和测试经验,我们可以得出微信朋友圈的测试点:
编写为 Excel 文档用例,可为:
第 3 步:挖掘隐性需求,覆盖非功能测试层面
除了以上这些功能层面的,对于微信移动端产品,还需要考虑到一些特性方面的测试,包括非功能测试层面,如:
三、总结
编写用例虽然不是那么简单的事,但是通过以上,是不是发现还是有方法可循的?不会写的先模仿着来写,日积月累,通过项目中测试思维的长期训练,工作中出现 bug 的经验总结,相信某一天你会发现编写测试用例也没有那么难!
《测试用例模板大全》
学习资源安排上:
文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群自行领取即可,拿走不谢。