来源:知乎
要编写出高效的测试用例,需要搞清楚什么是测试用例,以及如何编写出高效的测试用例?
接下来将从以下几个部分来进行展开
1、什么是测试用例
2、如何编写测试用例
3、测试用例专项学习
什么是测试用例
测试用例 :为了特定目的而设计的由一组测试输入、执行条件、预期结果构成的文档。简单理解就是将产品的需求拆分为一个个功能点,然后去验证其正确性二、如何编写测试用例编写测试用例主要分为下面两种方式:
1. 覆盖需求所有测试点;
2. 挖掘需求外的测试点。
下面我们来分别阐述如何实现:
1. 看怎样去实现覆盖需求所有测试点
1)能看懂需求文档,找准测试测试依据
作为测试人员,需求文档是测试软件的依据,首先需要看懂产品的需求文档。对于需求文档涉及的测试点能够整理出来,简单理解就是把大段的文字描述转化为思维导图的过程,推荐大家通过Xmind的形式整理。
其次,在需求文档的基础上结合测试环境或者产品人员,加深对需求的理解,方便后续更好的熟悉需求,整理测试点编写用例。
2)整理测试点
整理测试点的好处就是给编写用例的人员提供一个全面可靠的思路,防止设计用例过程的遗漏或者错误。同时也可以降低直接拿着需求文本编写用例的难度。编写的宗旨,最起码确保能覆盖需求。
将需求文档中的需求转化为测试点,方便编写测试用例,一般按照需求文档拆分成小的功能点,分别取验证。拆分到直接能够编写用例的程度,这个过程中可以使用一些设计用例的方法,即分别验证每一个小的测试目的。举例,现在页面登录功能需求如下
若上诉需求要拆分成测试点,则可以制作如下所示:
2、挖掘需求外测试点
在讲这个话题之前,需要提前给大家普吉一个概念:质量模型特性。
质量模型特征包含:功能性、性能效率、安全性、易用性、兼容性、可靠性等还是以上方的登录功能为例,根据质量模型特征,我们可以得到需求外测试点如下所示:
覆盖需求中的测试点,这是最基本的要求,再此基础上还需要挖掘需求外的测试点,可以借助于软件质量模型的特性进行思考,想法设法多思考用户使用过程中可能存在的各种场景。例如上述登录功能可以从非功能层面考虑设计:
第1章简单介绍软件单元测试所包含的概念,包括桩对象和测试驱动函数、测试驱动开发、软件测试贯彻始终、软件测试金字塔、单元测试在传统/敏捷开发模式中的地位、精准测试、单元测试和白盒测试,以及单元测试的FIRST原则和AIR原则。
第2章介绍软件单元测试基础知识,包括动态自动化/手工单元测试、静态自动化/手工单元测试。在动态自动化单元测试中介绍了语句覆盖、分支覆盖、条件覆盖、条件/分支覆盖、MC/DC、路径覆盖和控制流覆盖。
第3章到第5章介绍C语言、Java语言和Python语言的单元测试框架。
第3章介绍C语言动态自动化单元测试框架,包括在Windows下安装C语言运行环境、在Windows和Linux下安装编译CUnit、查看测试报告、CUnit介绍和案例。
第4章介绍Java语言动态自动化单元测试框架,包括在Eclipse中创建Maven项目和配置JUnit与TestNG运行环境、JUnit 4测试框架、JUnit 5测试框架、TestNG测试框架、测试替身、变异测试、利用EvoSuite自动生成测试用例,以及在Jenkins中配置JUnit 4、JUnit 5、TestNG和Allure。
第5章介绍Python语言动态自动化单元测试框架,包括unittest、Pytest及Python的模拟对象和变异测试工具mutpy。
第6章与第7章介绍代码覆盖率工具和代码语法规范检查工具。
第6章介绍代码覆盖率工具,包括C语言覆盖率工具gcov和lcov、Java语言覆盖率工具JaCoCo,以及Python语言覆盖率工具Coverage和pytest-cov。
第7章介绍代码语法规范检查工具,包括Java语言静态分析工具PMD、Python语言静态分析工具flake8和pylint,以及多代码语法规范检查平台SonarQube。
第8章通过两个案例详细介绍TDD。
读者可以根据自己的需求对以上内容进行选择性阅读或者全部阅读。另外,为了巩固大家的学习效果,每一章结尾都有相应的习题。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...