
其实测试用例的设计方法主要就是7大方法:
等价类划分,边界值,场景法,判定表,因果图,错误推断法,正交测试法。
很多人都只是知道这些方法,每个方法合起来就立马懵逼了。
在想把这些方法联系起来之前,我们先来看看每种方法要解决的问题。
等价类划分的出现,是让测试成为可能。
举个例子,比如说我们测试手机号输入框,如果没有等价类划分,那么是不是就要把所有的情况穷举一次。
当时如果有了等价类划分,我们至少可以把它们归类。
比如手机号可以分为有效和无效,并且无效可以分为长度无效,规则无效,输入的信息不规范等等。
之后等价类分类完成之后,下来就是对于分类界限的边界点进行选取,每一个边界值都是在等价类划分完成之后才产生的边界点。
所以边界值其实是在等价类的边缘去寻找错误。
再说下场景法,很多时候,我们测试的是整个所有的软件,那么在梳理业务流程的时候,就会用到场景法,用场景法梳理出正常流,备选流,之后再结合每一个流做细化的等价类划分和边界值。
判定表是遇到输入和输出之间有关联关系的时候会用到,会将业务之中有关联关系的地方使用判定表梳理出来。
,再结合判定表的每一项做等价类边界值细化的测试。
因果图不太常用,本身因果图其实是为了得到判定表
至于错误推断法,则主要是经常我们测试过程中,结合软件实际的情况,有针对性的猜测会出现问题的地方,针对性设计用例。
最后,正交测试,主要是在遇到多个因素,水平关系的时候,才会用少量的代替全面。
总结:
测试方法主要有等价类、边界值、场景法、判定表、因果图、错误推断法、正交试验法,首先拿到需求文档时,我会先用场景法梳理清楚软件的基本流和备选流,再结合等价类、边界值分析测试用例;当输入与输出有对应关系的时候我会先画出判定表,再结合等价类、边界值分析;当然遇到那种特别复杂的,像网上提到的售货机的例子,我会先用因果图梳理出判定表。还有就是可以根据自己对软件错误的知识积累,采取错误推断法来测试,最后还有一种不是很常用的正交试验法,主要是用于有水平关系,项目比较紧急时,采取抽样测试的方法进行的测试
【分享4类典型团队规模下的测试用例管理方案及对应工具】
随着软件系统规模的持续增大,业务复杂度的持续增加,软件测试的复杂度也随之越来越大。软件测试工作的复杂性主要体现在测试用例的编写、维护、执行和管理方面。而创建易于阅读、维护和管理的测试用例能够显著减轻测试工作的复杂性。
本篇文章将较为系统的探讨测试用例的几种管理策略,包括各种方法的特性、适用团队规模、场景以及实际示例。希望这些信息可以协助各种项目和团队,依据自身需求挑选合适的测试用例编写和管理方式,从而减少测试工作的难度,提升测试流程的效率。
一、测试用例管理策略
在软件测试工作中,测试用例是其最为重要的基础。
一个良好的测试用例可以帮助测试人员更容易阅读,理解,修改并管理它,从而提高测试工作的质量和效率。
要编写一个好的测试用例,首先需要对业务需求和验收条件(AC)进行深入的分析,并确定业务需求和验收条件的正确性和合理性。然后对其进行测试分析,并完成整体测试用例的设计和编写,其中包括功能测试用例,E2E测试用例,异常测试用例等等。对于设计好的测试用例需要进行分类并管理,然后根据不同的分类进行分层测试。
通常情况下可以将测试分为端到端测试(E2E Testing),功能测试(Functional Testing),集成测试(Integration Testing),单元测试(Unit Testing)等。根据这个分类方法,可以方便进行测试分层管理,就是某些测试用例放在端到端测试类型里面,而有些测试用例则放到集成测试类型里面。而根据测试用途还可以将某些类型的测试分类成回归测试(Regression Testing),验收测试(Acceptance Testing), 健全测试(Sanity Testing)以及冒烟测试(Smoke Testing)等。
由于一个测试用例可能既属于回归测试,又属于冒烟测试,所以这种情况下就需要一个良好的测试管理系统或者管理方法来对大量的分类后的测试用例进行管理。
编写和管理测试用例是测试用例工作中工作量最大,最为繁琐的部分。其质量的高低直接影响到测试工作是不是能高效和顺利的进行和完成。
所以结合产品的类型和团队的情况,选择适合自己团队的用例编写和管理方式,从而事半功倍。
二、四种典型的测试用例的管理方案及对应工具
测试用例需要具有以下特性:易阅读,易维护,易执行,易管理。
而难点也比较突出,其中包括语言的歧义性和多样性导致的不易阅读和理解;手动测试和自动化测试用例很难统一管理和统一执行。当测试数量很大的时候,如果测试用例管理系统不易用,测试用例的复用性也不高,则会导致测试用例不易维护,从而会极大的增加了其管理成本。
测试用例管理是一项繁琐的工作,现在业界存在四种经典方法,分别是文件管理,系统管理,代码活文档和系统活文档。与编写用例一样,没有一种用例管理方法是银弹,适合所有不同的团队和不同的项目。
所以了解它们的特点,再根据自己团队和项目的实际情况,选择适合的才是最佳实践。
方案一:使用如Excel,在线文档,Mindmap等工具管理
Excel 是中小型项目或者小型创业公司中比较常见的测试用例管理方法。其优势是简单易用,使用、购买成本极低,而劣势是需要自己对测试用例模版进行定制,并且当测试用例过多的时候管理成本会急剧增加。其次对于本地文件模式,则很难让多人进行协作编写(飞书文档、Google Sheets等这种在线文档没有这个问题)。
下面是一个Excel实例。Excel管理实例图:

而飞书文档(钉钉文档之类也一样)等这种在线文档则在Excel、Word的基础上有了一些升级,比如:会内置一些通用模板,也可以自己定制模板;允许团队成员随时随地访问和编辑测试用例;具备版本管理,可以追踪文档的修改历史,方便回溯和审查;能够便捷的发送给其他人,提升了沟通效率等......因此适用的团队规模也相对的扩大了一些。
而劣势则是:因为在线文档工具主要是为了文档协作和管理设计的,所以会缺乏针对测试管理的一些专业能力,当然这些只有团队扩大,或者追求专业才可能具备需求,如:测试执行跟踪、缺陷管理、测试报告生成等;以及一些复杂的测试场景会需要与自动化测试工具、持续集成工具等进行集成,而在线文档工具无法提供这样的集成支持,从而限制了其在复杂测试环境中的应用。除此以外,还有权限管理不够细,无法定制工作流程、不支持大规模并发操作,可扩展性有限等。
当然这些劣势上升为主要矛盾的前提是团队规模扩大,或者开始追求合规性、专业性的测试管理。以下是飞书文档的示例:

方法二:使用PingCode,TestLink等系统管理
这类工具一般是中大型项目中最为常用的管理方法,判断的最直接方法就是看看自己是否正在遭遇前面提到的那些劣势。
这类专业的管理系统的优势是:比如说PingCode这款工具,它提供了强大的管理和协作功能,比如:协作编写用例,协作执行用例,测试步骤管理,用例关联用户故事与缺陷、缺陷管理、用例基线、用例版本管理,测试迭代管理以及丰富的测试用例和测试结果报表等。
PingCode 这类专业工具带来的还有一个好处是,你可以单独使用测试管理模块,也可以使用完整的产品。如果是全产品的角度,你能够做到从需求收集、规划、开发、编码、构建、测试、发布的研发全生命周期管理,甚至是与自研工具、github、Jenkins等编码构建工具、自动化测试工具、钉钉飞书等集成打通,实现产研关键流程工具全链路闭环和关键数据的自动流转。

也正是因为专业性,这类工具对比Excel、在线文档而言才会有一定的学习曲线。以下是一些示意图:
PingCode 用例管理实例图1:

PingCode 用例管理实例图2:

PingCode测试报告部分实例图3:

方法三:使用Cucumber,RF,SVN和GIT等代码活文档、自动化测试框架和代码版本工具
这种方法特别适合具备充足软件技术工程实践经验的团队和个人。因为要高效地编写、维护、执行和管理测试用例、测试日志和测试结果,需要使用到代码版本管理工具、集成开发环境(IDE)、自动化测试框架、持续流水线等工具和实践。
本方法的优点在于能够同时管理自动化测试用例和手动测试用例,更便于追踪测试用例和测试数据的变更。然而,其劣势在于需要测试工程师具备足够的工程技术能力来实施。
下图展示了使用Cucumber编写的一个示例截图。左侧是集成开发环境中测试用例的管理文件,每个Feature文件代表一套测试用例。右侧则是通过Jenkins生成的测试用例活文档(Test Case Living Document),通过它可以统一展示手动测试用例和自动化测试用例的测试结果。
这样的方法将测试用例的编写、管理和展示整合在一起,为测试团队提供了一个高效、灵活的工作方式。
Cucumber测试用例管理和活文档示例图:

方法四:使用系统活文档
使用系统活文档是一种将代码活文档与系统管理相结合的方法。通过测试管理系统,可以编写和管理测试用例,进而自动生成代码模式的测试用例。此外,也可以直接编写代码模式的测试用例,然后自动同步到测试管理文档中。在持续集成流水线中执行自动化测试,并通过流水线展示,同时同步到测试管理系统中。
当手动测试人员完成手动测试后,他们可以通过测试管理系统或在测试代码中记录测试结果,并最终汇总到测试管理系统中进行统一展示。这样的方法实现了让不同人员能够共同协作分析、设计、管理和执行测试用例的工作。
这一过程不仅提高了测试用例的编写和管理效率,还增强了团队间的协作和沟通,使得整个测试流程更加流畅和高效。
下面是本方法的架构设计图。
系统活文档架构图1:

系统活文档架构图2:

测试用例是测试工作的根本,不管是手动测试还是自动化测试的成功,都十分依赖于测试用例的质量。但是只有充分的做好测试分析,设计,编写和管理才能产出一套合格甚至优秀的测试用例套件。从而保证测试工作可以高效正确的进行,为产出高质量软件保驾护航。
常见问答(FAQ):
问:为什么需要测试用例管理工具?
答:随着软件项目的复杂性增加,手动管理测试用例变得既耗时又容易出错。测试用例管理工具可以提高测试的效率和质量,促进团队协作,使整个软件开发流程更加顺畅。
问:如何根据企业的规模和需求选择合适的测试用例管理工具?
答:选择合适的工具需要综合考虑企业的规模、团队的需求、预算、安全性、可扩展性等因素。小型企业可能更关注价格和易用性,而大型企业可能需要更全面的功能和高级的安全控制。
问:测试用例管理工具的选型有哪些常见风险,如何避免?
答:常见风险包括选择过于复杂或过于简单的工具、忽视培训和支持、未充分考虑成本等。避免这些风险的方法包括充分了解自身需求,与团队成员充分沟通,合理评估预算,并考虑长期的维护和支持等。
问:实施测试用例管理工具后,如何确保团队能有效使用?
答:确保团队能有效使用所选工具需要提供适当的培训和支持,制定清晰的使用指导和流程,并持续监控工具的使用情况,及时调整和优化。与团队成员保持沟通,了解他们的反馈和需求,也是非常重要的一环。
| 序号 | 过程活动主题 | 过程活动内容 | 输出物 |
| 1. | 培训 | 硬件可靠性设计 可靠性白盒测试 器件选型与替换 电磁兼容设计 容差分析 DFMEA(故障模式与失效分析) 器件选型与工程计算 嵌入式软件可靠性设计 通用质量特性设计(七性设计) |
讲义 考试题 |
| 2. | 网络课程 | 电路设计隐患故障案例集 电磁兼容设计规范 电子工艺规范设计 电路设计工程计算 电子系统架构设计 |
反碎片化学习,将过去碎片化的时间用于随时随地的网络学习(手机电脑听课) |
| 3. | 硬件可靠性审核 | 客户输入:整机布局图、原理图、PCB图、BOM单、datasheet、开发任务书、项目建议书、检验作业指导书、工程计算书、接地图、结构图等设计文件(不一定全需要); 审核内容:降额、热设计、电磁兼容、环境适应性、安规、DFM、DFT、参数容差、设计规范符合性、器件选型可靠性评估、信号质量仿真、布局布线、工艺可靠性等设计及生产易发问题点 |
评审会议记录 评审报告 |
| 4. | 故障排查与失效分析 | 针对客户产品具体问题的整改措施,过程活动包括:问询现场工况、器件失效分析、模拟测试、试验数据分析、故障机理与整改措施建议、验证、总结报告 | 方案报告(含技术措施与验证结果) |
| 5. | 测试方案制定 与 测试实施 | 制定测试用例:确定应测点、确定应测点的应测项、确定测试应力、设计测试方法和测试用例、测试项目分级、测试结果分析、整改措施。测试用例的设计包括但不限于标准工况测试、边缘工况测试、变化率测试、前后级模块间匹配影响、时序、启停过渡过程、超限、单一故障测试、波形诊断、潜通路分析、偶发故障工程计算、批次一致性测试、热测试等。 测试实施:客户提供样品,我司测试团队依据制定的测试用例进行测试,并提供测试结果、原因分析、改进建议措施。 |
测试用例方案 测试总结报告 |
| 6. | 嵌入式软件代码静态扫描测试服务 | 用软件静态分析工具,依据可靠性规范进行源代码检查,专门针对程序员易犯错误的设计环节或特定软件可靠性设计标准,包括但不限于数据溢出、逻辑死锁、数组越界、数据类型赋值不匹配等,检查项可依据需求通过工具选择设定,依据规范可达2283条,静态分析后可生成问题风险清单; 再由测试人员逐项分析,确认问题的后果和容错机制,对确认存在隐患且无防护措施的问题点,记录问题报告单并说明机理,给出修改建议, |
静态扫描分析报告 |
| 7. | 信号完整性仿真 | 针对告诉电路,客户提供电路图、PCB、器件模型,我司工程师完成信号仿真和审核 | 仿真总结报告 |
| 8. | 年度顾问 | 签约成为年度技术顾问后,约定每月度的工作内容,可由客户自行选择如上的任何项目内容,进行有机组合,另增加日常随机答疑指导服务 |

1.值得收藏的电子产品20多种认证;
2.环境及可靠性试验设备选择的基本原则;
3.电阻器常见的失效模式与失效机理;
4.LCD屏的电磁兼容整改及设计技术分析;
5.工程师必读:如何在型号研制过程中控制电子元器件的可靠性;
6.给企业带来巨额损失的PCB“黑盘”,可以规避;
7.EMC整改分析—散热结构引起的ESD问题
8.电子元件的可靠性与可靠性试验;
9.LED驱动电源如何进行EMC整改?;
10.信号完整性100条经验规则;
11.滤波器选择需注意的十个问题;
12.产品EMC辐射发射超标原因有哪些?
13.浅谈HALT(高加速寿命筛选试验)在可靠性设计中的应用......
直接在公众号(需先关注)对话框回复序列号即可查看,例如“1”。




中国电子标准协会培训中心(http://www.ltke.cn)专业提供可靠性设计、热设计、EMC培训、SMT工艺、电路设计、架构设计、研发管理、嵌入式软件测试、软件技术等课程及服务。欢迎来电来函咨询:0755-26506757 13798472936 706008@163.com
喜欢本文请點個贊
并分享到您朋友圈哦!

