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

测试用例的重要性

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

良好测试的特征

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

测试用例设计的考虑因素

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

测试用例的基本原则

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

测试用例的整体质量要求

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

测试用例的重要因素

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

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

当面试官要求设计测试用例的时候,我们应该从以下几个方面入手,进行测试用例的书写
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安全相关的方法来防止恶意攻击等?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值