软件测试价值提升之路- 第二章"价值实现的起点"读书笔记
价值实现的起点
2.1 打破常规
打破哪些已经不适应现在软件开发需要的“准则”,明确需要在什么样的环境下、瞄准什么目标来实现测试的价值
找风险:研发内部测试
测试最基础的是找bug,但需要根据风险找最有价值的bug,管理、跟踪、报告、排除风险将是核心,如果没有风险就可以不测试。通常测试团队的组扩建都是以质量劣化为契机的,bug只是劣化的表象,根本的原因是缺乏对风险的有效管理。
质量把握:研发外部部测试
测试对产品质量有最直接的、第一手的信息,因此,测试以外的研发环节中,和质量相关的活动都有测试的用武之地
质量把握:面对客户
测试有条件在面对客户的体验测试、验收测试、产品上线等活动中实现自己的价值。
2.2 匹配新的业务要求
软件至少有以下几个特点是需要测试去适应
推出快
现在讲的是敏捷,而测试需要具有适应这种开发模式的工具、方法和组织结构。
变化频繁
软件架构更新升级的周期一般不超过2年,新架构要继承所有的老特性,而且还会在研发效率、性能、可靠性、体验、成本等的某一个或几个方面有飞跃,测试也需要具备相应的验证和评估能力。
接口杂
后台的接口会非常多,这些接口通常是非标准的,而且并非稳定不变。繁杂的接口,对测试使用的模拟工具、自动化工具、接口捕获和分析工具提出了很大的挑战。
开放性
软件的用户既有内部专业人员,也有普通互联网用户或者内部的一般操作员。对测试而言,这意味着应用场景会更复杂,安全性的挑战也会更大。
新技术
云测试、探索式测试、极速测试、基于模型的测试(Module based testing,MBT)、基于风险的测试(Risk based testing,RBT)、测试过程改进(Test process improvement,TPI),以及各种各样号称多快好省的测试工具等。如果测试工程师不能比其他研发成员更早剥开这些名词的本质,就会显得不思进取。
重体验
很多并不具备基本计算机知识、电脑操作水平一般而并不熟悉的人成为了软件用户,软件的体验设计也没有形成普适性的所谓的“22条军规”。对体验的验证也必须有新的思路
2.3 面向企业商业成功
判断测试将要进行的实践是否在创造新的价值,标准就是这个实践对企业必然会关心的3个方面—质量、成本、效率,是否有帮助
企业的商业成功,落实到研发体系,就是需要研发提升质量和效率,降低成本。
测试团队选择做一项改进或者引进一种技术,首先就要确认所做的工作在研发质量、效率、成本上的目标。并且找到认可这个目标的“同盟军”(指产品团队中,愿意投入这项工作的、测试以外的角色),否则很可能是测试内部的自娱自乐。
RBT(基于风险的测试)的第一个应用项目,这原本是一个和研发整体效率非常密切的技术,但是部分产品在应用的时候只强调了用于识别测试重点,结果市场代表、系统工程师、开发工程师都不愿意参与到风险的识别中,使RBT流于形式,没有发挥应有的作用。
离线发布的产品,可以考虑确定产品质量方面的目标
在线发布的产品,可以考虑确定成本方面的目标
以快速发布来抢占先机的产品,应该制订效率方面的目标
2.4 寻找价值的最佳人选是自己
测试的继续进化,测试设计、自动化、环境管理、流程管理技术仍是测试工作的基石,新一代的测试人需要站在这个基石上,寻求适合自己产品形态、研发流程的成功实践,进而总结出方法。
2.5 测试价值的层次
三个层次
2.5.1 测试必须实现的价值
传统认为测试应该有的那些价值,如发现缺陷、给出性能指标、建设团队的测试能力等。这是进一步拓展测试价值的基础,测试团队需要夯实
2.5.2 测试可以实现的价值
测试有条件做到的那些价值,如改善研发过程质量、提升交付效率等。原有的能力加上新的能力和责任,形成值得测试去拓展的、新的价值外延。
如转载还请保留出处及作者姓名keena_jiao,谢谢!
软件测试价值提升之路- 第二章"价值实现的起点"读书笔记的更多相关文章
- 第二章 搭建Android开发环境--读书笔记
俗话说,工欲善其事,必先利其器,对于Android驱动开发来说,首先我们要做的就是搭建Android开发环境,我们首先要配置Linux驱动的开发环境,接着还得配置开发Android应用程序以及Andr ...
- 《Effective C++》第3章 资源管理(2)-读书笔记
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...
- 《TCP/IP详解卷1:协议》第4章 ARP:地址解析协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第19章 TCP的交互数据流-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《Effective C++》第3章 资源管理(1)-读书笔记
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...
- 《Effective C++》第1章 让自己习惯C++-读书笔记
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...
- Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记
第一章 Thread导论 为何要用Thread ? 非堵塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...
- 软件测试价值提升之路- 第三章"拦截缺陷 "读书笔记
作为一个测试团队,基本的职责是:测试产品,发现缺陷,报告结果,使每个版本的测试水准稳步提升.这些价值是作为一个测试所必须具备的,发挥这些价值能够让测试获得研发团队的基本信任.这类价值分为3部分: 1) ...
- 【第二章】黎姿的python学习笔记
随机推荐
- 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?
下面列出了Array和ArrayList的不同点:Array可以包含基本类型和对象类型,ArrayList只能包含对象类型.Array大小是固定的,ArrayList的大小是动态变化的.ArrayLi ...
- python之encode和decode编码
u = '中文' str3 = u.encode('utf-8') # 以utf-8编码对u进行编码,获得bytes类型对象 print(str3) u2 = str3.decode('utf-8') ...
- JS中原始值和引用值分析
JS中变量中两种类型的值:原始值,引用值 原始值是存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置. var x = 1; //1就是一个原始值,变量x中存放的就是原始 ...
- C#界面设计相关设置
1.Anchor属性设置 对需要设置的控件,如主窗体中的TextBox,设置Anchor为上下左右都停靠,就会实现随着窗体的变化而变化. 2.AutoScaleMode属性的用法:<转自:htt ...
- c++--语言本身
c++ 面向对象概念(cout cin 类.对象 面向对象和面向过程求解问题) 易犯错误模型(引入成员函数的必要性) C语言和C++语言的关系 namespace 定义(嵌套).使用.标准命名空间st ...
- Ajax 的基本使用
Ajax简介 一门异步的加载技术,局部刷新 异步加载,可以在不重载整个网页的前提下,进行局部刷新 分为原生和JQ两种 JSON数据格式 Json对象转字符串: JSON.stringify() 字符串 ...
- SAP MM ME57界面看到的供应源跟Source List主数据不一致?
SAP MM ME57界面看到的供应源跟Source List主数据不一致? ME57,为如下的PR单据分配供应源, 发现找不到想要分配的供应源. ME03 去看Source List主数据, 黄色标 ...
- i2c_msg 标志位 - repeat-start
i2c_msg标志位 路径:linux-2.6.38/include/linux/i2c.h I2C_M_IGNORE_NAK: 设置这个标志意味当前i2c_msg忽略I2C器件的ack和n ...
- flask项目部署到生产环境的方案
背景 使用Python+flask编写的一个小项目,在本地开发完毕后,需要部署到测试服务器上,这时候犯难了,因为之前没部署过这块东西,所以各种百度,总算是部署成功了,也对这个项目进行了jenkins持 ...
- node.js+mysql用户的注册登录验证
下面代码实现的功能是:用node.js连接mysql实现用户的注册和登录,这里主要实现的是后端的验证代码,前端显示部分没具体写出. 整个程序的流程是这样的: 1.首先建立数据库reji,数据表user ...