软件测试流程设计—黑盒测试用例设计方法「建议收藏」

软件测试流程设计—黑盒测试用例设计方法「建议收藏」第1章测试用例设计方法测试用例设计方法包括黑盒测试用例设计方法和白盒测试用例设计方法,下面分别进行介绍。1.1黑盒测试用例设计方法黑盒测试用例设计方法包括等价类划分法、边界值分析法、判定表法、因果图法、正交试验法、状态迁移图法、流程分析法、输入域测试法、输出域分析法、异常分析法和错误猜测法等,下面进行详细介绍。1.1.1 等价类划分法1.什么是等价类划分法等价类划分法是一种典型的黑盒测试设计方法。该方法主要针对测试子项进行规格分析,然后获得用例,而不用对系统内部处理进行深..

大家好,又见面了,我是你们的朋友全栈君。

软件æµè¯æµç¨è®¾è®¡âé»çæµè¯ç¨ä¾è®¾è®¡æ¹æ³

第1章 测试用例设计方法

测试用例设计方法包括黑盒测试用例设计方法和白盒测试用例设计方法,下面

分别进行介绍。

1.1 黑盒测试用例设计方法

黑盒测试用例设计方法包括等价类划分法、边界值分析法、判定表法、因果图法、正交试验法、状态迁移图法、流程分析法、输入域测试法、输出域分析法、异常分析法和错误猜测法等,下面进行详细介绍。

1.1.1 等价类划分法

1.什么是等价类划分法

等价类划分法是一种典型的黑盒测试设计方法。该方法主要针对测试子项进行规格分析,然后获得用例,而不用对系统内部处理进行深入了解,也是目前测试设计过程中普遍使用的一种方法。等价类划分法是将系统的输入域划分为若干部分,然后从每个部分中选取少数有代表性的数据进行测试,这样可以避免穷举法产生的大量用例。

等价类是指某个输入域的子集合。在该子集合中,各个输入数据用来揭示软件中的错误都是等效的,并且合理地假定测试某等价类的代表值就等价于对这一类其他值的测试。因此,把全部输入数据合理地划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。

等价类划分有两种不同的情况—有效等价类和无效等价类。

有效等价类:对于系统的规格说明来说,由合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类:对于系统的规格说明来说,由不合理的、无意义的输入数据构成的集合。

在设计测试用例时,要同时考虑这两种等价类,因为软件不仅要能接收合理的数据,还要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

2.如何使用等价类划分法

等价类划分法的具体实施步骤如下。

(1)划分等价类。

这里等价类的划分基于特性测试子项所对应的软件需求规范(Software Requirement Specification,SRS)片段。可以参考下面几条原则。

① 在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类。

例如,在1<x<5中,一个有效等价类为1<x<5,两个无效等价类为x≥5和x≤1。

② 在输入条件规定了输入值的集合或者规定了必须如何操作的情况下,可以确立一个有效等价类和一个无效等价类。

例如,规定字段“周”是输入周几,则该输入条件的一个有效等价类是输入的值属于从周一到周日的集合,一个无效等价类是输入的值不属于周一到周日的其他值。

③ 在输入条件是一个布尔量的情况下,可以确定一个有效等价类和一个无效等价类。

例如,对于性别,如果规定输入“男”为有效,则一个有效等价类为“男”,一个无效等价类为“女”。

④ 在规定了输入数据的一组值(假定有n个)并且程序要对每一个输入值分别进行处理的情况下,可以确立n个有效等价类和一个无效等价类。

例如,在Word中编辑的某文档的简体中文字体要求是楷体、黑体、宋体、隶书和微软雅黑。每种字体都会显示不同的字体样式。这里n=5,可以确定5个有效等价类和一个无效等价类。5个有效等价类就是楷体、黑体、宋体、隶书和微软雅黑;一个无效等价类就是不属于这5类中的其他字体。

⑤ 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类符合规则和若干个无效等价类从不同角度违反的规则。

例如,用户名的规则是长度为6~16个字符,由英文和数字组成。此时,一个有效等价类是符合长度和字符类型的字符串,如test123。若干个无效等价类可以包括长度不符合要求的等价类(如test1、test1234567890123456),字符类型不符合要求的等价类(如test@123、test 123等)。

⑥ 在已划分的等价类中,若各元素的处理方式不同,则应再将该等价类进一步划分为更小的等价类。

例如,对于考试分数(100分制)而言,有效等价类为高于或等于60分,无效等价类为低于60分。

根据考试成绩的相关规定和后续的处理方式,还可以进一步划分。例如,

有效:60~80分为合格,80分以上为优秀;无效:50~59分需要补考,低于50分需要重修。

(2)确定测试用例。

从划分出的等价类中,按以下3条原则设计测试用例。

① 为每一个等价类规定一个唯一的编号。

② 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。

③ 设计一个新的测试用例,使其仅覆盖一个尚未覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

3.案例1-1

现有一个档案管理系统,允许用户通过输入年、月对档案文件进行检索。系统关于查询条件年、月的输入限定为1990年1月到2049年12月,并规定日期由6位数字组成,前4位表示年,后两位表示月。

现用等价类划分法设计测试用例,用来测试程序的“日期检查功能”。

4.案例1-2

某保险公司承担人寿保险,该公司保费计算方式为投保额×保险费率,保险费率又因点数不同而有区别,10点及以上保险费率为0.6%,10点以下保险费率为0.1%。

转载自网络。

结语:

如果对python自动化测试、web自动化、接口自动化、移动端自动化、大型互联网架构技术、面试经验交流等等感兴趣的老铁们,可以关注我。我会在公众号(程序员阿沐)/群里(810119819)不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。欢迎分享,欢迎评论,欢迎转发。需要资料的同学可以关注我获取资料链接。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137658.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python基础(1)python语法规范

    python基础(1)python语法规范python语法规范python的语法规范非常重要,简洁明了是python的特性,以下是python语法的一些说明python3的编码格式是unicode(utf-8)标识符的规则:由字母、数字

  • 利用google网管工具,快速诊断网站(一)

    利用google网管工具,快速诊断网站(一)前面讲了网站诊断要做的4个步骤,今天我们用google网管工具来对网站做快速诊断:google网管工具地址:http://www.google.com/webmasters/google网管工具控制台截图如下:快速诊断步骤:1、robots.txt文件检查点击“网站配置”—&gt;“抓取工具的权限”,查看robots.txt文件可以在上图所示的网址处,输入多个网站地…

  • “2014比赛现场招”开始,个人网站的完全访问权限“举”时代?

    “2014比赛现场招”开始,个人网站的完全访问权限“举”时代?

  • 一篇读懂无线充电技术(附方案选型及原理分析)「建议收藏」

    一篇读懂无线充电技术(附方案选型及原理分析)「建议收藏」一文读懂无线充电技术(附方案选型及原理分析)0.背景1.无线供电特点2.无线供电原理及实现方式3.现有解决方案分析4.FAQ及相关测试5.参考资料0.背景现今几乎所有的电子设备,如手机,MP3和笔记本电脑等,进行充电的方式主要是有线电能传输,既一端连接交流电源,另一端连接便携式电子设备充电电池的。这种方式有很多不利的地方,首先频繁的插拔很容易损坏主板接口,另外不…

  • SQLyog 报错2058 :连接 mysql 8.0.11 解决方法

    SQLyog 报错2058 :连接 mysql 8.0.11 解决方法今天闲来无事,下载新版的 mysql8.0.11安装。为了方便安装查看,我下载了sqlyog工具连接mysql配置新连接报错:错误号码2058,分析是mysql密码加密方法变了。解决方法:windows下cmd登录mysql-uroot-p登录你的mysql数据库,然后执行这条SQL: ALTERUSER’root’@’localhost’IDENTIFI…

  • java压缩/解压war包

    java压缩/解压war包packagecom.kingsoft.unwar;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号