【软件测试】如何在笔试中设计一个好的测试用例

tech2026-03-27  2

测试用例的重要性

如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。

良好测试的特征

可以最大程度地找出软件隐藏的缺陷可以最高效率的找出软件缺陷可以最大程度地满足测试覆盖要求 既不过分复杂、也不能过分简单使软件缺陷的表现可以清楚的判定待查的输出结果或文件必须尽量简单明了不包含重复的测试用例测试用例内容清晰、格式一致、分类组织

测试用例设计的考虑因素

具有代表性、典型性寻求系统设计、功能设计的弱点测试用例需要考虑到正确的输入,也需要考虑错误的或者异常的输入需要分析怎样使得这样的错误或者异常能够发生考虑用户实际的诸多使用场景

测试用例的基本原则

避免含糊的测试用例将具有相类似功能的测试用例抽象并归类数据驱动的测试用例 避免冗长和复杂的测试用例

测试用例的整体质量要求

覆盖率:依据特定的测试目标,尽可能覆盖所有的测试范围、功能特性和代码易用性:设计思路清晰、组织结构层次合理,测试用例操作的连贯性好、执行顺畅。易维护性:以较少的时间来完成测试用例的维护工作,包括易读性、一致性等粒度适中:既能覆盖各个特定的场景,保证测试覆盖率;又能处理好不同的测试数据、测试条件(数据驱动),提高测试用例的可维护性

测试用例的重要因素

一条完整的用例,一般包含如下信息: 序号,功能模块,用例标题,前提条件,测试步骤,期望结果,实际结果,备注。如下表所示:

测试用例设计包含的几个方面

当面试官要求设计测试用例的时候,我们应该从以下几个方面入手,进行测试用例的书写 1、功能度 2、安全性 3、可靠性 4、可移植性 5、兼容性 6、易用性 7、用户文档 8、疲劳测试 9、压力测试 例如我们以最常见的测试----测试一个纸杯为例

功能度:用水杯装水看漏不漏;水能不能被喝到安全性:杯子有没有毒或细菌可靠性:杯子从不同高度落下的损坏程度可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等易用性:杯子是否烫手、是否有防滑措施、是否方便饮用用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述疲劳测试:将杯子盛上水放置24 小时检查泄漏时间和情况; 盛上汽油放 24 小时检查泄漏时间和情况等压力测试:用根针并在针上面不断加重量,看压强多大时会穿透。

面试题目

有一个web页面,上面有文本输入框,用于计算一个文本字符串中大写字母A出现的次数。请设计出一系列字符串以测试这个web页面。 设计的步骤: 一、需求分析 无论进行什么测试设计,首先都要进行需求分析,除了理解产品的功能,还查看一下是否有模糊不明确的地方,比如: 1、需求中要计算大写字母A出现的次数,那小写字母a呢?是否计算在内? 2、本web页面用户会如何使用?即真实的业务场景是什么? 3、页面上是否会有输入限制,比如字符串长度限制?特殊字符是否允许输入? 二、用例设计 建议从功能测试、性能测试、安全性测试、易用性测试、异常测试等各个测试角度进行用例的设计。 (一)功能测试主要采取等价类划分和边界值分析的方法进行用例设计,具体如下: 字符串中包含0个A:b 字符串中包含1个大写的A:A 字符串中只包含A,且个数大于1且小于10个:AAA 字符串中只包含A,且个数大于10且小于100个:40个A 字符串中只包含A,且个数为字符串最大值:100个A 字符串中包含很多个字符,但不包含A 字符串中包含很多个字符,其中有1个A 字符串中包含很多个字符,其中有多个A 字符串中包含字符个数为最大值,其中有多个A字符串为空字符串 字符串中包含空格:如A B C a b c 字符串中包含特殊字符 字符串中输入超过最大长度的字符串时,如何处理?是不能输入?还是会有合理提示?(二)易用性测试 1、当字符串个数较多时,能否将字符串显示完整? 2、是否支持复制粘贴操作? 3、页面中输入框和按钮等元素的布局是否合理? (三)性能测试 1、响应时间是否有要求 2、并发用户数是否有要求 (四)安全性测试 1、该web页面是否需要用户登录后才能操作? 2、该数据会被记录么?web页面关闭后再次打开时,鼠标放在输入框中是否会自动出现之前输入的数据? 3、是否需要采取其他web安全相关的方法来防止恶意攻击等?

最新回复(0)