为什么要写测试用例,测试用例写给谁看?

113 2023-11-19 18:28

一、为什么要写测试用例,测试用例写给谁看?

简单点说,测试用例一个是写給自己看,一个是写给领导看

自己看是类似于自己的测试提纲,给领导看就是展示自己的工作量。

下面是我在测牛学测试的测试用例的相关笔记,希望可以帮到你!


什么是测试用例

测试用例是执行测试的依据,把测试系统的操作步骤用文档的形式描述出来

一般测试用例都是使用excel表格的形式去编写的。

为什么要写测试用例去测试

1 避免盲目测试,突出测试重点,提高测试效率

2 软件更新时,只需改动少部分用例,便可以开展工作,能够缩短测试周期

3 测试相似软件功能时,用例基本可以通用和复用

4 方便监督测试过程,方便展示自己的工作量

5 记录测试过程,把控测试的覆盖率,可以做到不重不漏

编写测试用例的注意事项

1 用例编写前,要明确用例具体的格式要求,比如编号的规则,提交的方式

2 用例要不断更新维护,每次写用例都是升级完善的过程

3 用例需要正式评审

测试用例的实际使用

学习的过程中,更多关注的点是测试点,而不要纠结于编写格式 ,因为每个公司不同,他们的测试用例的格式也会有区别。

测试用例评审

每次我们写完测试用例之后,按照流程会开一个测试用例评审会。

自己在台上讲,台下是相关项目负责的产品,UI,测试,开发(前端,后端)

评审的内容主要是:

1)用例结构安排是否清晰合理,是否利于高效对需求进行覆盖

2)用例优先级安排是否合理

3)用例是否覆盖需求上的所有功能点

4)用例是否具有很好的可执行性,实际输出是否有明显的验证方法

5)是否删除了冗余的用例(测试完的点,又测了一遍)

6)是否包含充分的反例覆盖(一般情况下,是28原则,正例是1个,反例最少是4个)

7)是否是从用户角度来设计使用场景和使用流程(测试数据要贴近生产数据)

8)是否简洁和复用性强,描述是否清晰,是否存在二义性

9)测试内容与需求是否对应

10)场景用例是否覆盖最复杂的业务流程(业务逻辑:买票、买商品)

二、什么是测试用例?

测试用例(Test Case)是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不同的趋势。

要使最终用户对软件感到满意,最有力的举措就是对最终用户的期望加以明确阐述,以便对这些期望进行核实并确认其有效性。测试用例反映了要核实的需求。然而,核实这些需求可能通过不同的方式并由不同的测试员来实施。例如,执行软件以便验证它的功能和性能,这项操作可能由某个测试员采用自动测试技术来实现;计算机系统的关机步骤可通过手工测试和观察来完成;不过,市场占有率和销售数据(以及产品需求),只能通过评测产品和竞争销售数据来完成。

既然可能无法(或不必负责)核实所有的需求,那么是否能为测试挑选最适合或最关键的需求则关系到项目的成败。选中要核实的需求将是对成本、风险和对该需求进行核实的必要性这三者权衡考虑的结果。

我们公司于上使用日事清来进行编辑测试用例,同时执行测试用例,并取得不错的成效。日事清是专业的企业管理软件,可自动生成工作总结,进行日程计划、团队协作。

也可以算个人,也可以算企业,以为既可以管理个人的个人日程也可以管理整个团队里面的日程。

三、测试工程师都是怎么写测试用例的?

写测试用例是测试最基本的技能,但是如何写出条理清晰,简单明了的测试用例呢?

1、测试用例的基本要素:

功能

功能项

测试目的

前提条件

测试要点

预期结果

2、整体了解业务,进行大致分类

根据大的功能来分类,一般是根据某个功能的整个流程分类,若某个功能流程中,某个功能项内容内容很多,可单独分为一个功能,测试点尽量避免重复。

3、测试点注意操作联动影响,即操作某功能考虑当前页面联动,其他页面联动,及其他设备联动

4、考虑异常情况:断线重连、前台运行,后台运行,杀掉进程、覆盖安装……

5、考虑兼容性:机型、系统版本,屏幕大小、网络

四、如何编写测试用例?

带着问题学习是最高效的学习方法。

因此,在介绍如何编写测试用例之前,先看一个软件系统登录功能的测试(如下截图所示):

要做这个登录页面的测试用例,你会从哪些方面思考进行测试呢?

看似简单的页面功能能够设计多少条测试用例完成较全面的测试呢?10条以内?20条?.......

那么在给出上述答案之前,先带大家熟悉一下什么是测试用例?测试用例有什么作用? 然后在结合上述抛出的案例抛砖引玉一起讨论如何编写测试用例?

下面就是此文目录截图:

一、什么是测试用例

测试用例:为了特定的目的(证明软件存在某问题)而设计的一组由测试输入、执行条件、预期结果构成的文档

1、测试用例简单来说就是指导如何做测试的文档,该文档主要记录需要验证被测软件的是否满足需求

2、测试用例表现形式常见的有两种,可以以模板形式展示

1)一种是通过Excel直接编写

——大多数项目中都需要按照这种方式设计编写

2)一种是通过xmind直接整理测试点

——时间紧迫,项目没有强制要求时,可以设计测试点的形式编写 ——对于业务流程类的测试,也可以整理为测试点进行测试

3、设计及执行人员:测试工程师

4、用例的模板:描述编写用例核心内容,一般项目都有自己的设计用例的模板,常见测试用例模板可参照如下:

用例模板具体该如何撰写,可以看下这篇文章,堪称手把手教你如何写测试用例,强烈推荐看:
感觉测试用例好难写怎么办?

二.为什么要写测试用例

为什么要写测试用例,实际中产品出现问题,第一责任人首先想到的是测试为啥没有测到?

产品出现问题了,你为啥没有测出来呢?

当然,除了避免“甩锅和背锅”,其实写测试用例更重要的作用如下:

  • 技术上将需求转化为具体可验证的指标
  • 以文档的形式记录软件可能存在的问题
  • 防止测试过程的活动出现遗漏,提高工作效率
  • 测试工作量的展示

三.如何编写测试用例

既然写测试用例如此重要,那么如何更好的编写测试用例呢?个人认为需要满足如下几点:
- 常规思考,设身处地的从用户角度出发(比如:实际用户是这么使用的么,会不会遇到异常情况呢?)
- 测试理论方法的支撑(比如:根据需求设计测试用例时,能用到哪些常见的测试用例设计方法?)
- 产品的熟悉和经验的积累(比如:已经有过类型项目经验,曾经在某个方面有过问题,当时是如何处理的呢?)

上述的设计用例过程,有个前提,就是对于测试有耐心和毅力,加上日常有意识的思维训练,才会写出全面的用例。

1、常规思考

回归到开篇的问题,对于一个基本的登录页面,按照常规思路能否会想到如下截图的测试点呢?实际,这些测试点都是源于从用户角度出发,结合需求进行细化设计的过程。实际测试中是不是只有这些测试点呢?

2、学习积累

相信大多数测试工程师都能够想到上述基本的测试点,然在实际工作中面对的项目不同,设计测试用例的颗粒度也有不同的要求,如果针对上述登录的模块,更深入一层考虑呢?此时需要对产品的熟悉程度及测试经验的加持,而且这些点的设计是不断学习、熟悉项目、测试积累中得到的。

3、理论支撑

有了常规的思考,有了经验的积累,还需要理论的支撑。测试用例毕竟是通过人去思考设计,这个过程不可避免有疏漏。如何规避?实际就需要测试理论的支撑,个人认为深入思考设计用例不外乎以下两方面:

1)测试用例的设计方法

测试理论中很关键一块就是将需求拆分为具体的测试点,然后根据用例设计方法进行具体的设计,其中拆分需求的关键是熟悉需求,将文档中已有的描述内容,按照用户使用场景、个人测试经验的积累(如果有的话)、把大段的内容拆分成能够直接用用例设计方法的测试点,这样就直接可以通过简明扼要的文字描述转化为Excel的测试用例,在这个过程通俗理解就是拆分细化的过程,直到可以直接写用例验证一个具体的功能点即可。

其中熟知的设计用例方法有:

- 观察法

- 等价类、边界值

- 判定表、因果图

- 流程图、场景法

- 错误推测法等

2)测试设计的思路开拓

倘若按照需求将已有的描述信息都已经拆分完毕了,是不是就可以确保测试没有问题了呢?其实不然,在上述基础上如果还需要再拓展全面测试,还需要借助于软件质量模型的特性,从这些特性出发,给予测试用例设计者更多的思考空间。这样的设计就更加的全面可靠。

常见软件质量模型特性说明:

- 功能性:功能有没有,好不好用

- 性能效率:对应系统的资源耗费程度及响应时间

- 易用性:容易理解、学习、使用

- 兼容性:能够兼容不同的软硬件平台

- 可靠性:不易出问题,万一出问题容易恢复

- 安全性:对于用户的安全保障(外在的人生安全、内在的信息安全等)

- 可移植性:能否在不同环境条件下无故障运行

- 可维护性:对于后期的修复维护是否方便快捷

因此,对于上述登录功能,按照上述质量模型的思路指导,就得到如下的测试点:

用例实战:

面试官问:给你一个物件(花瓶、笔、桌子)你怎么测试?

(1)问题分析:无论是哪个物件,都从以下几个维度出发设计: 1、功能 2、UI 3、易用性 4、性能 5、安全 6、接口 7、兼容性 8、可移植 ....也可以适当缩减和增加(2)参考回答: 给你一个杯子你怎么测,至少写出20条测试用例1.功能测试:主要关注水杯基本功能1.1 水杯是否可以正常装水1.2 水杯是否可以正常喝水1.3 水杯是否有盖子,盖子是否可以正常盖住1.4 水杯是否有保温功能,保温功能是否正常保温1.5 水杯是否会漏水,盖住盖子拧紧后是否会漏水2.ui测试:主要关注水杯外观、颜色、设计等方面2.1 外观是否完整2.2 外观是否舒适2.3 颜色搭配及使用是否让人感到舒适2.2 杯子外观大小是否适中2.3 杯子是否有图案,图案是否易磨损3.易用性测试:主要关注水杯使用是否方便3.1 水杯喝水时否方便3.2 水杯拿起放下是否方便,这里会衍生到水杯形状的测试3.3 水杯装水是否方便3.4 水杯携带是否方方便3.5 水杯是否有防滑功能3.6 水杯装有低温或者高温水时,是否会让手感到不适4.性能测试:4.1 水杯装满水时,是否会漏出来4.2 水杯最大使用次数4.3 水杯的保温性是否达到要求4.4 水杯的耐寒性是否达到要求4.5 水杯的耐热性是否达到要求4.6 水杯掉落时,是否可以正常使用4.7 水杯长时间放置时,是否会发生泄露5.安全性测试:主要关注水杯外观和各种异常条件下是否释放有毒物质等5.1 当水杯装满热水时,水杯是否会烫手5.2 当水杯装上水后,是否会产生有毒物质5.3 把水杯放在零下环境时,是否会产生有毒物质5.4 把水杯放在高温环境时,是否会产生有毒物质6.接口(杯子没有想到怎么和接口关联起来)7.兼容性测试:主要关注水杯是否可以装其他液体,如果汁、汽油、酒精等8.可移植性测试:主要关注水杯放置环境等8.1 将水杯放在常温环境中,使用是否正常8.2 将水杯放在零下的环境中,使用是否正常8.3 将水杯放在高于正常温度的环境中,使用是否正常

你看,这道面试题是不是就轻松解决了?

四、写在最后

此时的你再回过头来看看,还会认为登录这个百试不爽的功能就设计十几条甚至几十条测试用例了吗?显然不是那么简单,需要在熟悉需求基础上,进行拆分细化,将常规的思考、经验的积累、理论的支撑结合起来使用,最终才能转化为测试待验证的结果。

熟悉需求上第一步,在此基础上进行测试点的拆分细化,这个过程如果对于复杂一点的功能点,需要借助于测试用例的设计方法,对于页面级的测试点应用最多的不外乎是等价类、边界值。

仅仅熟悉了需要,还需要结合经验的积累,从质量模型的特性出发,进行全面的思考功能点的设计,是否出现遗漏的,是否有项目特殊要求的。

最后,用例的设计不是一蹴而就的事情,好的用例也是需要不断的练习反复的修改评审,才能编写出卓越的用例。

如果文字看过后还觉得不过瘾,还可以看下面这篇知乎文章:

如何写出高效的软件测试用例?测试工程师都是怎么写测试用例的?有哪些比较好的测试用例管理工具?感觉测试用例好难写怎么办?

黑马测试还录制了6套测试用例设计方法的相关视频,需要者可以访问:

码字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

---------------------------------------------------------------------------------------------------

最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。

包括软件学习路线图,黑马50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..

2020软件测试学习路线图,内附视频教程+自学路线+工具+面试篇-黑马程序员技术交流社区

黑马精华知乎文章推荐

一、测试前景类

软件测试有前景吗?

软件测试行业到底有没有前景和出路?

软件测试工程师的工资有多高?

软件测试这个职业能干多久?

软件测试真的干到35就干不动了吗?

自动化测试的发展前景怎么样?相比于开发,测试的技术含量是否偏低?测试人员提升自身竞争力的速度是否没开发快?

软件测试的岗位会越来越少吗?

测试开发是什么?为什么现在那么多公司都要招聘测试开发?

国内的软件测试那么不受待见吗?

二、测试择业类

二十五岁零基础转行做软件测试怎么样?

本人女,想转行做软件测试,没有任何经验,也没有基础,现在已经毕业两年了,25岁,现在转行来得及吗?

女生学软件测试,容易吗,这个工作会不会压力很大?

软件测试员比软件开发员要求低些吗?

软件测试的魅力何在?您为什么选择测试一行而不做开发?

软件测试的工资高还是开发者工资高?

软件开发和软件测试两个岗位应该选哪个?

为什么软件测试相比软件开发薪酬待遇差别那么大?

软件测试适合女孩子吗?

男27,想转行互联网,是学习软件测试好,还是前端编程?

三、测试入门类

作为一名软件测试人员,有哪些网站是你应该多多关注的,哪些书籍是你必须要看的?

作为一名软件测试工程师,需要具备哪些能力?

软件测试人员怎么快速让自己牛逼起来?大概要多久才能很牛逼?

大四应届毕业生,想自学软件测试,要学到什么程度才能找到工作?

如何系统、高效地学习入门软件测试,并能找到软件测试的工作?

零基础想转行做软件测试,可以吗?

软件测试需要学什么?

想要成为一个优秀的软件测试人员,应该学些什么?

零基础如何通过学习进入软件测试行业?

在校生想成为软件测试工程师自学需要学什么?

新人如何入门和学习软件测试?

自学软件测试怎么学?

怎样做好软件测试

测试分为什么,白盒,黑盒,单元,集成测试?

在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?

作为软件测试的前辈你能不能给我点建议?

我想问一下,软件测试要学会什么才能拿6k以上的工资?

学习软件测试有哪些推荐的网站,希望各位知友帮助?

28岁女失业,想从零学习软件测试,还来得及吗?

大四女生,软件测试岗,对测试也不太了解,编码能力也不行。不知道未来该如何规划,如何系统性学习测试呢?

没有软件测试经验的计算机毕业生如何准备面试测试工程师这一职位?

一个无经验的应届生,可以做软件测试吗?

完全未接触过软件测试的人,培训两个月就可上岗,这现实吗?

测试开发是代表懂测试的开发还是懂开发的测试?

今年30了,做了5年的软件测试,只会功能测试的怎么办?

学习软件测试需要掌握哪些知识点呢?

四、咨询培训类

软件测试培训靠谱吗?

这么多的软件测试培训机构,哪个好?

传智播客(黑马程序员)培训软件测试怎么样?

五、测试求职类

怎么的技能可以让软件测试工程师获得高薪?

面试软件测试工作,如何回答:为什么要从事软件测试行业?你觉得你会什么?

如何去面试软件测试工程师?

好的软件测试人员简历是什么样子的?

四年手动软件测试,裸辞后找不到工作怎么办?

明天去面试软件测试,给我些建议,或者面试题预测?

测试工程师面试题,你都遇到过哪些呢?

最近在找实习。面试软件测试时,面试最想听到的答案是什么?

六、技术分享类

如何编写测试用例?

手机软件的测试主要有哪些方面去测试,性能测试用什么去测试好?

如何做好app的测试工作?

软件测试完后,还有BUG,是测试人员的问题吗?

如何写出高效的软件测试用例?

做接口测试的流程一般是怎么样的?

软件测试人员能用python做哪些事情?

软件测试的环境部署怎么做?

如何做接口测试呢?接口测试有哪些工具

求推荐几款http接口自动化测试工具?

单元测试到底是什么?应该怎么做?

想学习LoadRunner,有没有好的资源(书籍、视频或网站)?

七、职场提升类

做了大半年的软件测试,可是觉得我在浪费时间,怎么办?

四年测试工程师经历,下一步转开发还是继续测试?

软件测试工程师应该怎样提高自己?

转行软件测试两个多月,感觉很迷茫,下一步该如何提高自己?

四年手动软件测试,裸辞后找不到工作怎么办?

做软件测试,如何才能实现月入20K?

如何学习自动化测试?

一个菜鸟怎样做好功能测试?

作为软件测试人,所在公司部门只有功能手动测试,如何进一步提升自己?

作为一个初级测试,想学接口测试,但是一点头绪都没有。求教大神指点,有没有好的书或者工具推荐?

做了一年的软件功能测试,想转自动化测试。目前在看了一些Python资料,感觉无从下手,求指导?

手工测试人员如何转测试开发?

已从事软件测试一年,感觉依然很菜,只会基础的功能测试,想进一步学习,有没有好的建议呢

五、测试用例包括哪些要素?

你说的不是很具体,一般的测试用例要包括测试步骤(输入数据)、测试环境和预期结果;

设计测试用例时,不光要有通过测试用例,还得有失败测试用例;

六、etl测试用例是什么?

在将数据移动到生产数据仓库系统之前完成ETL测试。它也称为表平衡或产品协调。ETL测试与数据库测试的范围和测试期间遵循的步骤不同。ETL测试是为了确保转换后从源加载到目标的数据是准确的。它涉及在源和目的地之间使用的各个阶段的数据验证。

七、Java测试用例怎么写?

测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一。测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。

八、测试大纲和测试用例的区别?

测试大纲是测试单位为了获得测试任务,在项目招标阶段编制的文件,它是测试单位参与投标时投标书内容的重要组成部分。

测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

九、软件测试用例编写规范标准?

根据系统需求规范写系统测试用例感觉有点困难。

是因为这个时候功能描述还比较泛,感觉会感觉编写用例有点困难,这个时候编写的用例粒度可以比较粗,不用写的很细节(估计也写不出来很细)。

到了设计环节,功能点比较明确,用例也可以再细化。

在实际过程中,一般就是在需求阶段心里有个大概的测试策略,不会具体去写用例。只有到设计确定后,才有可能开始编写,为了简化工作量和预防需求变化用例又得重写的麻烦。

结合硬件的测试,编写用例和一般软件测试没啥区别,就是编写你要考虑的测试点,然后想想怎么测试(测试步骤和数据)

十、如何保证测试用例覆盖全面?

一般我会觉得这个问题问得不够好,在实际测试中,我们都知道测试用例是不可能完全覆盖所有需求。只能说如何能更好的提高测试用例的覆盖率。

首先是对需求点的分析,显性的需求点是很好设计测试用例的,但是对于隐形的需求,就需要进行分析。

再则,需求覆盖率针对的是单个具体功能点,对于多个功能点的组合,要求覆盖所有,太难。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片