软件测试技术实战 设计、工具及管理》联载-56

简介: 软件测试技术实战 设计、工具及管理》联载-56

13.7  精益创业与探索式软件测试


最近阅读了李善友先生写的关于《精益创业》的4本书,主题思想是传统工业社会思维方式与现代互联网社会思维方式的区别。传统工业社会思维方式是先摸索用户的需求,然后依次为计划、实现、测试和使用。然而,用户往往开始时并不知道自己想要什么,提不出自己想要的真正需求。所以,现代互联网社会的思维方式要变为与用户一起先摸索、交流,经过多次迭代获悉用户最基本需求之后再进行开发、测试,然后交给用户使用,并且从用户使用情况中快速得到反馈信息,以挖掘更深层次的需求,最后再进行多次的迭代式开发和测试。


这种摸着石头过河的思维方式是非常符合当前软件产品形式的。笔者经常把软件测试比喻为寻宝,缺陷在哪里?它具有很大的不确定性和一定程度上的未知性。而自动化测试是对基本的并且已知的缺陷进行验证,自动化软件测试的最大优点在于能有效地控制回归测试。探索式软件测试在软件测试过程中是非常重要,特别是基于测程管理的探索式软件测试加强了探索式测试的可管理性,这与精益创业的精神完全符合。软件测试工程师不要一上来就花太多时间去思考要测试什么,而是要通过不断地测试,逐步了解软件产品,产品中哪些地方容易出错,哪些地方就需要重点进行测试,并通过测试来决定采取什么手段进行什么样的测试,然后再决定如何进行更深一步的测试。


自动化测试可对最基本的功能进行测试,其他的测试工作需要交给基于测程的探索式软件测试来完成了。


下面简单介绍一下基于测程的探索式测试方法。探索式测试是一种基于经验的测试方法,而对于基于经验的测试方法最让人头痛的就是测试的管理方法。基于测程的探索式测试方法就是为了解决这个问题。参看图13-4


image.png

13-4  基于测程的探索式测试


首先进入第一个测程。测程开始就是测试分析,设计和执行一起进行,测试过程中随时进行记录。比如,测试过哪些模块,使用了哪些方法,遇到了哪些问题,读者可以参见本书第一篇第3.2节“基于场景的测试”中的测试记录。一个测程一般在0.53h(这个数据是有科学依据的,小于0.5h思维进入不了状态,也就进行不了有效的测试,而大于3h,人就容易疲劳)。一个测程测试完毕后,测试工程师与测试经理及其他测试工程师一起讨论。测试记录总结如下内容:

  •  需要进一步学习哪些专业知识(包括业务知识、测试技术、其他知识)。
  •  系统中发现的哪些问题是有效的缺陷,讨论后填写到缺陷管理软件中。
  •  下一次需要重点测试哪些模块,使用哪些方法和技巧。


然后进入下一轮测程。

  随着探索式测试测程的持续进行,探索式测试工程师对产品业务、缺陷分布情况有了越来越清晰的了解,从而能采用更加有效的具有针对性的测试策略。



顾翔凡言:

不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。

目录
相关文章
|
7天前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
8天前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
6天前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
7天前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
10 2
|
7天前
|
数据采集 前端开发 安全
前端测试技术
前端测试是确保前端应用程序质量和性能的重要环节,涵盖了多种技术和方法
|
9天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
38 3
|
15天前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
33 4
|
13天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
30 1
|
17天前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
35 2
|
18天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
17 1