• 软件测试必备:如何编写测试用例?


    前言

    今天想和大家来聊聊测试用例,这篇文章主要是想要写给软件测试小伙伴们的,因为我发现还是有很多小伙伴在遇到写测试用例的时候无从下手,我就想和大家简单的聊聊,这篇文章主要是针对功能测试的哟。

    同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

    软件测试视频教程观看处:

    华测教育软件测试进阶全套视频教程(2023全网最新版,软件测试进阶自学必备)

    一、什么是测试用例?

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

    通俗的讲:就是把我们测试系统的操作步骤按照一定的格式用文字描述出来。

    二、写测试用例有什么好处?

    1、理清思路,避免遗漏

    这里是我们认为最重要的一点,假如我们测试的项目大而复杂,我们可以把项目功能细分,根据每一个功能通过编写用例的方式来整理我们测试系统的思路,避免遗漏掉要测试的功能点。

    2、跟踪测试进展

    通过编写测试用例,执行测试用例,我们可以很清楚的知道我们的测试进度。

    3、历史参考

    在我们所做的项目中,也许会有很多功能是相同或相近的,我们对这类功能设计了测试用例,便于以后我们遇到类似功能的时候可以做参考依据。

    4、重复性

    我们测试一个系统不是一个人测一遍就算测完的,需要多人反复的进行测试,那么我们就需要测试用例来规范和指导我们的测试行为。

    三、测试用例的方法

    好吧,咱知道啥是测试用例了,也是知道为什么要写测试用例了,那到底应该怎么写?无从下手啊。我们在写测试用例之前,先学习几种方法,它是我们写测试用例的指导思想。

    1. 等价类划分

    在某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等价的。假如有一个输入框要求输入1-10000个数,我们不可能用每一个数去试,我们输入5 和输入6去验证和揭露输入框的错误可以看做是等价的。那么这个时候我们就可以随机的抽取一些数据来进行验证。如:10 、99、7777......

    等价类分:有效等价类和无效等价类

    输入框要求输入1-10000的数

    有效等价类:可以输入1-10000之间的数来验证,如:2、5、99、8495......

    无效等价类:可以输入1-10000之外的任意字符验证,如:20000、字母、下划线、特殊符号、空格、回车.....

    2. 边界值

    边界值是对等价类的补充,测试工作经验告诉我们,大量的错误是出在输入输出的边界价上。我们还拿上面的例子,一个输入框要求输入1-10000之间的数。我们要测它有没有超出这个范围,如:0、-1、-2、1000、10001.....等等,来判定是否超出了我们的范围。

    3. 因果图

    因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。举个例子:原因:A=0,B=0,结果我就可以判定:A=B。确切的说他是一种因果关系思想。它会无形中指导这我们的测试。当然了,我们为了以免遗漏,可以把系统中的因果关系用图画出。不过系统大而复杂的话就是个体力活了。呵呵。

    4. 错误推测法

    基于经验和直觉推测出系统可能存在的错误,从而有针对性的设计测试用例的方法。

    5. 其它

    设计测试用例的方法有很多,我们常用就上面几种,其它的方法还有:状态迁移图、流程分析法、正交验证法等等。

    ​四、测试用例的格式与要素

    一个测试用例应该包括:编号,标题,测试场景,测试步骤,预期结果。

    当然还可加入一些它选项,如:优先级、测试阶段....

    注:上面的格式取自《微软的软件测试之道》,它并不一定适合你,我只是让大家对测试格式有个了解。

    关于测试用例的存放管理:

    1. 项目管理系统自带的用例管理,一般用例会与项目挂钩,有固定的格式,搜索、修改等功能,使用起来非常方便。如:禅道项目管理、QC、bugfree 等等都带的有用例管理功能。

    2. 通过world\Excel文档形式管理,这样的好处就是自己定义测试用例的格式。

    测试用例例子:

    基础知识了解的差不多了,下面来看一个具体的测试用例。我们会有更深刻的认识。

    注:这不是一个完整的测试用例,格式也不是固定必须这样的,你们可以根据自己的需求编写设计测试用例。

    除了上面的那些之外我们还需知道有关测试用例的。

    五、我们在什么时候可以设计测试用例?

    当根据客户的需求整理出项目需求分析文档时,我们就可以根据需求文档来编写测试用例了。但是,一般我们(国内大多小公司)项目需求文档都非常“简陋”,所以,很难根据需求文档设计测试用例。

    我们只有等到项目开发人员把项目开发出来,给我们系统文档、部署环境、数据库结构(如果系统牵涉到数据库的话),我们根绝这些文档来设计测试用例。

    六、测试用例的评审与更新

    我们设计的测试用例设计完成之后,是否完整?是否符合系统?符合客户要求?对用例做一个评审是必不可少。关于评审的方式,不同的公司有不同的流程。

    我们编写的测试用例也不是经过评审之后就不变了,随着需求的变更、功能的改进,测试用例当然也需要更新和变动。

    七、什么情况下不适合写测试用例

    1、文件时间

    如果一个功能我很快就测试完了,而且只需要测试一遍,但我们设计测试用例时却比较麻烦,花时间也长。这个时候就没必要编写测试用例了。

    2、需求变动大且频繁

    需求的功能变动非常频繁,而且变动很大,之前编写的测试用例根本没法使用,必须要重新编写,这个时候也没必要去设计测试用例了。

    3、项目时间不允许

    这一项是不太厚道的做法,如果不是急需交付客户的话,尽量不要这样做;当然了,如果只是给客户展示或试用,可以在之后进行补充和完善测试用例。

    不要编写不完整或别人看不懂的测试用例,那样就没有意义了。

    写在最后

    PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

    ☑ 240集-零基础到精通全套视频课程
    ☑ [课件+源码]-完整配套的教程
    ☑ 18套-测试实战项目源码
    ☑ 37套-测试工具软件包
    ☑ 268道-真实面试题
    ☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

    这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

  • 相关阅读:
    Vue-05-计算属性、内容分发、自定义事件
    是时候重视官网了,寄生平台的生意表达,就是在给平台打工
    Kafka概念类总结
    嵌入式软件工程师面试题——2025校招专题(三)
    通讯网关软件012——利用CommGate X2OPC实现MS SQL数据写入OPC Server
    C++——vector(3)
    系统架构设计师-数据库系统(2)
    C++ Reference: Standard C++ Library reference: C Library: cwchar: wcstof
    ajax笔记三
    GCN-图卷积模型理解
  • 原文地址:https://blog.csdn.net/huace3740/article/details/134054157