测试开发——用例篇(如何设计一个测试用例,设计测试用例的一些具体方法)(下)

简介: 测试开发——用例篇(如何设计一个测试用例,设计测试用例的一些具体方法)(下)

1、找出其中的因素和水平

因素:用户名、邮箱、密码、确认密码

水平 :填写、不填写

2、生成正交表(用到了allpairs)

f1be9ec134954052aaa166cf957225cd.png


a788b72845b54280a3f50d599b1a3177.png

🔔注意


da146049d12f4330894e2b3d0758bc7a.png

我们打开这个0115jg.txt文件

 

73dd989fbe294d008f74e853006a99a6.png


最终我们要用到的就是这一部分


a6b4842155c449a0b1c94503a27ba188.png

 通过上图我们可以看到,allpairs正交表和我们实际的正交表有出入,但仍然不影响我们用allpairs生成正交表


3、根据正交表生成测试用例

全部填写

填写用户名,不填写邮箱、密码、确认密码

填写邮箱、确认密码,不填写用户名、密码

填写密码,不填写用户名、邮箱、确认密码

填写用户名、邮箱,不填写密码确认密码

填写确认密码,不填写用户名、邮箱、密码


4、补充可能存在遗漏但是非常重要的测试用例

加一个全都不填写


6、错误猜测法

注意!不是瞎猜!!!

而是根据 测试人员的经验 和 知识 的 积累,来猜测某一块功能有问题。

随后,有针对性的进行测试用例的编写。

说白了:就是程序员的经验之谈。


有的朋友可能就会有疑问:你觉得我像是有经验的佬嘛。。。

其实!我们是有经验的!!!

因为我们一直在使用各种 APP,打游戏,听音乐,看小说等等。。。。

我们具有使用经验,也就是用户体验软件的经验。

我们很容易就能 get 到 用户的需求有哪些,因为我们也是用户。

也就是说:我们至少拥有用户的经验。

而我们缺少的是:站在测试的角度去看待需求的经验。

错误 猜测法,有点类似于 探索性测试。

针对性比较强,比较依赖测试人员个人的水平。



🌰比如:

1、搜索查询框 - 空格

在某个 软件/网页 中,搜索关键字的时候,而且这个关键字,在服务器的数据库中是有对应的数据的。

只要我们在关键字的左右两侧敲一个空格(关键字 :“空格 + 奥特曼 + 空格”),就搜索不到。

因为这两个空格,导致原本可以搜索到的数据,现在搜索不到了。

在Java中,String类型有一个方法 trim(),可以去除 字符串 前后的 空格。

由这个问题引申出另外一个问题:字符串中间的空格是否要去掉?


答案:不能!

中间的空格,一般是用户刻意敲的,可能具有实际的意义。

而两侧的空格,可能是用户误敲的,没有实际的意义


五、面试题

如果面试中——面试官问测试用例是否是越多越好?

回答

测试用例不是越多越好,测试用例是为了提高产品的质量、提升用户的使用效果和体验。

测试本身是有时间、精力、资金成本的

但如果是面试官让你就某一事物来设计测试用例,这个时候你设计的测试用例越多越好


经典面试题目


47e2f122df594d19b0c6dfc4ac4003ce.png

一道美团面试题

这是一个在美团面试中被提到的面试题。

PS:由于题目没有给出 到底是那种水杯,牵扯的范围很广。

因此,我们这个案例不是 全面(覆盖性不强)。


bef42cf658bf4892b4e21c3ef13d31c6.png

六、实战测试用例:百度云盘的测试用例  

1、功能需求测试 - 粗略版


24e87b54e811431b957b3d2f5b1ae27b.png


注意在文件传输模块中,对于下载测试项中的 不同文件格式,我们并没有说清楚很模糊。
下面我们再来看一下,对它的补充


a246d0efed434d1f8278a9a304df0668.png

2、 非功能性测试

68c9762e6586410ab4a8cfbd369b597d.png




相关文章
|
1天前
|
测试技术
基于LangChain手工测试用例转App自动化测试生成工具
在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
10 4
|
7天前
|
机器人 测试技术
敏捷测试价值观、方法和实践读书笔记(6)
验收测试驱动开发(ATDD)强调在开发前定义验收标准,并通过自动化测试确保用户价值得到满足。验收测试关注用户需求是否实现,而非代码细节。ATDD涉及用户、产品负责人、开发人员及测试人员,通过讨论、开发和交付三个阶段,确保产品符合预期。此方法有助于团队更好地理解和实现用户需求。
17 5
|
7天前
|
Devops jenkins 测试技术
敏捷测试价值观、方法和实践读书笔记(10)
本文介绍了敏捷测试的延伸实践,重点讨论了持续集成(CI)和持续部署(CD)的概念与实践方法。持续集成强调频繁提交代码至主干并自动化构建测试,确保快速反馈和高质量代码。持续部署则进一步实现自动化部署,通过蓝绿部署、金丝雀发布等方式提升软件交付效率。此外,文章还探讨了持续反馈机制,如A/B测试和混沌工程,以及DevOps文化下的测试策略,强调测试在整个开发流程中的重要性。
14 0
敏捷测试价值观、方法和实践读书笔记(10)
|
7天前
|
XML 存储 API
敏捷测试价值观、方法和实践读书笔记(8)
本文介绍了API的基础知识,区分了Web Service和Web API的概念,详细阐述了Web Service中的SOAP服务和REST服务的特点及区别。同时,文章还探讨了如何在项目中进行API测试,包括API测试的类型和实施阶段,强调了API在现代软件开发中的重要性和优势。
8 0
敏捷测试价值观、方法和实践读书笔记(8)
|
7天前
|
JavaScript 前端开发 Java
敏捷测试价值观、方法和实践读书笔记(7)
本文介绍了BDD(行为驱动开发)的Given-When-Then方法,并详细描述了如何在Java环境中使用Cucumber框架实现BDD测试。内容涵盖配置环境、修改POM文件、编写Feature文件及步骤定义文件、运行测试等过程。同时,提供了使用Cucumber和Selenium对Web页面进行测试的具体示例,并探讨了BDD在团队中的实施策略,包括不同角色之间的协作流程与自动化测试框架的选择。
11 0
敏捷测试价值观、方法和实践读书笔记(7)
|
3天前
|
敏捷开发 测试技术 UED
软件测试中的探索性测试方法
在软件开发过程中,测试是确保产品质量的重要环节。本文将探讨一种常被忽视但极其重要的测试方法——探索性测试。通过分析其定义、优势及实际应用案例,揭示如何更有效地发现软件缺陷,提升软件质量。
11 0
|
安全 Java 测试技术
python接口自动化(三)--如何设计接口测试用例(详解)
上篇我们已经介绍了什么是接口测试和接口测试的意义。在开始接口测试之前,我们来想一下,如何进行接口测试的准备工作。或者说,接口测试的流程是什么?有些人就很好奇,接口测试要流程干嘛?不就是拿着接口文档直接利用接口 测试工具测试嘛。其实,如果只是三五个接口,你可以这么做一个临时的接口测试。但是,如果是上百个接口,或者,你们公司的这个项目,第一次做接口测试,那么,我们还是很有必要严格遵守接口测试的流程。
336 0
python接口自动化(三)--如何设计接口测试用例(详解)
|
测试技术
正交试验测试用例设计及工具推荐
在科研和生产实践中,人们往往要做许多次实验来进行某项研究。实验条件一般包括很多因素,当因素的值不同时,实验的结果也不一样。如果想把每个因素的每个值都要实验一遍,总实验数就等于各因素的值的个数的乘积,而这个数往往很大,超过了可接受的成本。 例如,假设某个实验由A,B,C,D四个因素,每个因素都有10个不同的取值,那么如果想把每个因素都考虑到,我们需要做 10*10*10*10=10000次实验。 为了减少实验数目,我们必须选出那些最有代表性的例子。于是,就要用到了正交表法(Orthogonal Array Testing Strategy)。
320 0
正交试验测试用例设计及工具推荐
|
算法 安全 测试技术
【软件测试】测试用例的设计方法
测试用例写的过于简单,则可能失去了测试用例的意义,设计过于简单的测试用例其实并没有真正的进行设计,只是把需要测试的功能模块记录下来而已,它的作用仅仅是在测试过程中作为一个简单的测试计划,提醒测试人员测试的主要功能包括哪些而已,测试用例设计的本质应该是在设计的过程中理解需求,检验需求,并把对软件系统的测试方法的思路记录下来,以便指导将来的测试
【软件测试】测试用例的设计方法
|
算法 Java 测试技术
边界值分析法测试用例设计实例
边界值分析法是黑盒测试的重要方法,本文以一道数位DP算法题为例,自主测试黑盒测试用例,并采用JUnit5完成单元测试。
165 0