ISTQB AL-TA/TTA连载系列01:软件测试设计面临的挑战

[概述]

软件测试设计是整个软件测试过程中非常重要的测试活动,其输出的工作产品将直接影响测试发现缺陷的效率和有效性(不管是文档化输出,还是仅仅存在于测试人员的头脑中),进而影响软件产品的质量。而在实际测试过程中,测试人员却面临着各种各样的挑战和问题。

[正文]

测试人员能否有效进行软件测试的设计,是进行高效测试的关键因素之一。但在实际的软件测试设计过程中,测试人员面临各种各样的问题,而这些问题的存在给软件测试设计活动带来了极大的挑战。软件测试设计面临的问题主要包括以下四类。

1)测试对象的逻辑路径和测试输入数据的组合几乎是无穷的,而穷尽测试是不可能的。

即使是规模很小的软件或者软件产品,其逻辑路径和输入数据的组合也几乎是无穷的。假如测试人员想对测试对象进行完全的检查和覆盖,那基本上是不可能的,这就是国际软件测试认证委员会ISTQB大纲中提到的一条测试基本原则:穷尽测试是不可能的。

面对测试对象中几乎无限的逻辑路径和软件输入数据的组合,如何有效选择和确定测试用例且满足测试覆盖率要求,是测试人员在测试设计过程中面临的一类重要问题。针对测试设计而言,该类问题主要表现在:

  1. 如何有效减少测试用例的数目?
  2. 如何避免测试用例之间的冗余?
  3. 如何满足测试覆盖率的要求?

2)不同利益相关者对软件或者软件产品的质量要求是不同的。

尽早和尽量多的发现软件或者软件产品中的缺陷,是测试的重要目的之一。开发人员或者其他利益相关者修复缺陷,并经过测试人员的确认测试和回归测试,就可以不断的提高软件产品的质量。但是,在测试过程中没有发现缺陷,并不代表测试对象就是高质量的软件产品,或者用户/客户就会接受该产品。

根据Jerry Weinberg对质量的描述:“Quality is the value to someperson(质量是可以为某人提供的价值)”,从中可以看出质量是带有内在主观性质的:对于同一个产品,不同的利益相关者对质量的理解和要求是不一样的。因此,测试人员在软件测试过程中,需要站在不同的利益相关者的角度,对测试对象的质量进行检查和验证。

通常而言,软件产品的利益相关者在测试过程中扮演着有不同的角色,例如:项目经理、产品经理、客户/用户、操作员等。测试人员如何在测试过程中尽量多的考虑不同利益相关者对软件产品质量的要求和理解,是他们面临的另一类问题。针对测试设计而言,该类问题主要表现在:

  1. 如何获取利益相关者的不同质量要求?
  2. 如何设计测试用例以满足不同的质量要求?
  3. 如何分析和评估最终软件产品的质量?
  4. 如何提高客户对软件产品的满意度?

3)测试时间和测试资源总是非常有限的。

在实际的测试过程中,测试人员面对的测试范围和测试用例数目通常都是非常庞大的,而测试时间和测试资源却都非常有限。多年的测试实践经验表明,测试团队往往很难获得测试计划中预留的测试时间,当软件开发和测试的时间发生冲突的时候,测试团队常常被要求压缩测试时间;同时,测试过程中的测试资源限制,例如:测试平台、测试人员的限制,使得测试团队只能在有限的条件下开展测试活动。

在这种情况下,如果没有良好的测试思想和技术的支撑,想要有效开展测试活动总是显得力不从心。针对测试设计而言,该类问题主要表现在:

  1. 如何有效的选择测试重点?
  2. 如何确定测试优先级?
  3. 如何有效的配置测试资源?
  4. 如何分析和评估测试的有效性?

4)测试人员面对的需求经常是不完善的、经常变更的。

软件或者软件产品的需求规格说明是测试人员进行测试设计和执行的基础,需求规格说明的准确性、完备性、可测试性等特性对成功进行测试非常重要。而实际的测试过程中,测试人员面对的需求规格说明常常是不全的、经常变更的,甚至没有任何需求文档。

测试人员不能因为需求不完善之类的问题,就拒绝测试,或者仍旧保持这样的测试理念:测试仅仅依赖于需求规格说明,测试人员只要按照需求规格说明进行测试用例设计和执行,并覆盖了所有的需求条目,即认为达到了需求的覆盖率。相反,测试人员在面对此类问题的时候,必须查找有效的测试技术和手段继续进行测试,以保证测试的有效性和测试质量。针对测试设计而言,该类问题主要表现在:

  1. 如何获取尽量多的显现需求和隐现需求?
  2. 如何利用已有的经验有效设计测试用例?
  3. 如何应对需求的不断变更?

更多资料,欢迎访问:http://blog.csdn.net/Wenqiang_Zheng

ISTQB AL-TA/TTA连载系列01:软件测试设计面临的挑战相关推荐

  1. ISTQB AL高级认证考试资料(中文)

    ISTQB作为一个专业的提供软件测试认证的机构,得到了全球软件测试人员的认可.目前中国有越来越多的人已经获得ISTQB FL初级模块的认证.由于测试职业发展和前途的考虑,相信也会有越来越多的人希望通过 ...

  2. ISTQB AL-TM认证中文参考书:《软件测试管理》连载系列

    ISTQB AL-TM认证中文参考书:<软件测试管理>连载系列 ISTQB作为一个专业的提供软件测试认证的机构,得到了全球软件测试人员的认可.目前中国有越来越多的人已经获得ISTQB FL ...

  3. 移动端导出excel_连载系列【4】Excel开发移动端quot;APPquot;

    前三篇文章介绍了百度地图生成器.源代码编辑器.GPS经纬度批量转换工具.源代码编辑器中添加自定义功能按钮和地图控件.这些写好的Java Script代码虽然可以实现所有期望的结果,但毕竟不是一个HTM ...

  4. Python连载系列:认识Python

    Python连载系列:认识Python 认识Python GitHub地址:https://github.com/hellgoddess/PythonGuide 本章目录: Python简介-历史/优 ...

  5. Python连载系列:字符串和常见数据类型

    Python连载系列:字符串和常见数据类型 github地址:https://github.com/hellgoddess/PythonGuide 字符串和常见数据类型 列表基本用法 - 定义列表 / ...

  6. PHP扩展开发系列01 - 我要成为一名老司机

    PHP扩展开发系列01 - 我要成为一名老司机 1. 关于扩展的教程貌似挺全了,为啥还写? 记录下我写扩展的历程 自认为会写的更容易理解 我的宗旨就是 "先用再识" 代码写着写着就 ...

  7. JavaScript进阶系列01,函数的声明,函数参数,函数闭包

    本篇主要体验JavaScript函数的声明.函数参数以及函数闭包. □ 函数的声明 ※ 声明全局函数 通常这样声明函数: function doSth() { alert("可以在任何时候调 ...

  8. vSphere 7 With Kubernetes系列01:随想

    vSphere 7 With Kubernetes系列01:随想 原创 李严省 虚实之路 7月28日 收录于话题 #vSphere with K8s 9个 大家好,好久不见,公众号停更差不多快有1年的 ...

  9. LLM系列 | 01: 亲测ChatGPT最强竞品Claude,且无需翻墙、注册简单、免手机号

    简介 春风桃李花开日,秋雨梧桐叶落时.小伙伴好,我是微信公众号<小窗幽记机器学习>的小编:卖核弹的小女孩.更多.更新文章欢迎关注微信公众号:小窗幽记机器学习.后续会持续整理模型加速.模型部 ...

最新文章

  1. nginx日志问题解决方法记录
  2. 整合公司3个网站后台管理子系统的经验总结 - 实现多系统的单点登录(ASP.NET + ASP)...
  3. vue页面翻页勾选的记忆功能
  4. c语言pop逆置单链表,C语言实现单链表
  5. 伽马分布极大似然估计_一文通俗解释极大似然估计
  6. 写给程序员的裁员防身指南
  7. Android之sqlite的使用 (转载)
  8. react hoc_如何使用HOC模式开发React超能力
  9. phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式
  10. 使用JavaScript开发一个Photoshop插件
  11. Web API规范设计指引
  12. python re group()
  13. 如何调整c盘分区大小,怎样把c盘空间调整小些
  14. Excel创建堆积柱形混合折线图
  15. python簇状柱形图_使用Matplotlib绘制堆积条形图
  16. Java实现家谱家族管理系统,图形化家谱家族树,单机应用程序
  17. Type-C快充诱电方案
  18. u盘插电脑计算机卡了,电脑插入U盘就卡顿?3个原因你需要了解一下
  19. 在QT中使用MySQL数据库
  20. Centos7配置dhcp服务

热门文章

  1. word 如何分段插入页码和设置“第几页共几页”的页脚
  2. python操作excel去除单元格空格和换行
  3. python 实现栈和队列
  4. PowerShell攻击指南
  5. cmd解决端口被占用
  6. EA免费开放的智能交易
  7. Python 蓝桥杯试题 基础练习 十六进制转八进制
  8. 使用.net 操作 微信公众平台 —— 第三方登录
  9. 微信小程序开发——修改小程序显示名称
  10. linux忘记密码无法登陆/修改密码