<<有效软件测试>> 读书笔记和自己的一些思考
需求阶段
1. 测试人员及早介入,需要彻底了解产品,设计测试过程
* 及早介入,可以了解在开发的过程中需要使用哪些新技术,新的平台, 测试组是否方便进行测试,是否方便进行自动化测试,早期开发和测试应该对这个进行评估
2. 验证需求,将功能性文档化,使以后测试更加全面,对测试内容进行分级,除了考虑需求,还需要考虑性能和安全,对测试过程进行区分优先级
3. 需求就绪后立即设计测试过程 不要推迟到软件版本交付后才给测试组 开发人员需要拽写设计文档,测试人员也需要提前撰写测试文档,同时这些文档是会变化的
4. 确保需求变化的传达 可以通过变更请求表传达给测试组
5. 注意在现存系统上进行开发和测试
编制测试计划
6. 了解手头的任务和相关的测试目标
7. 考虑风险 比如新的设计过程 新的技术
8. 根据功能优先级安排测试 测试的需求可以根据合同上的需求来设计,并且合同上的需求优先级安排高一点,尽量保证合同上的需求可以进行自动化测试,发布版本前都把这些自动化测试跑一遍,优先级的划分优点在于:在时间紧迫的时候可以更快地完成优先级最高的,也可以在人手不足的时候优先完成优先级较高的功能
9. 牢记软件方面的问题 制定测试计划的时候,测试组应该了解项目开发和交付的一些软件问题
10. 获得有效地测试数据 测试组和开发人员必须进行协调,收集测试数据,收集测试数据也是为了后续的自动化测试做准备,当需要测试数据的时候,最好在测试文档上进行标注
11. 规划测试环境 单元测试和集成测试通常由开发人员在开发环境里面完成,但是系统测试和用户验收测试最好在独立的测试实验室完成,测试实验室的设置应该和生产环境相同,能够发现所有影响应用程序的,比如配置,比如防火墙,网络波动等等
12. 估计测试准备和执行所需的时间
测试组
13. 定义测试组的角色和职责,比如GUI测试,性能测试, 开发测试
14. 测试技巧,行业知识和经验三者缺一不可 测试不是单纯地模拟用户,必须对于了解各方面才能进行边界测试等
15. 评估测试人员的有效性
* 要保持有效性,需要对测试工作的各个元素(测试策略, 测试环境和测试组的组成)不断地进行评估, 并且根据实际需求不断地改进这些元素
* 测试经理需要熟悉各个测试人员的背景,才能根据经验,专业知识进行分配任务和评估任务
系统架构
16. 了解系统的架构和组件,如果测试人员对这些熟悉,这些知识对于查明特定测试结果的应用程序的各个部分
17. 确认系统的可测试性
18. 使用日志增加系统的可测试性
19. 验证系统支持调试和发型两种执行模式
测试设计和测试文档
20. 有效地分解测试任务
21. 使用测试过程模板和其他测试设计标准
22. 根据需求得到有效的测试用例
23. 把测试过程当做"动态"的文档
* 开发会随时变化,测试要跟随者开发进行变化
24. 利用系统设计和系统原型
让用户预先看到某个功能的实现结果,让用户对应用程序有所体验
25. 设计测试用例场景时才用经过检验的测试技术
26. 在测试的过程中避免包含显示和详细的数据元素
27. 运用探索性测试
单元测试
28. 用结构化的开发方法来支持有效地单元测试
29. 在实现之前或者实现同时开发单元测试,为了简化单元测试的开发工作,开发人员必须重视基于接口的方法来实现组件,优秀的软件工程做法是围绕接口,而不是围绕组件内部的机理来设计软件
30. 使单元测试的执行成为生成过程的一部分
自动测试工具
31. 了解各类测试支持工具
32. 自主生成一个工具
33. 了解自动测试工具对测试工作的影响
34. 关注组织的需要
35. 在应用程序的原型上对工具进行测试
自动测试
36. 不要过分依赖记录/回放工具
37. 必要时自制开发一个测试工具
38. 使用经过考验的测试脚本开发技术
39. 尽量使回归测试自动化
40. 实现自动生成和烟雾测试
* 自动生成,通常每天执行一次自动生成
* 烟雾测试,回归测试的精简版本,主要对应用程序关键的高层功能(也就是主要功能)进行自动测试。
非功能性测试
41. 不要事后才考虑到非功能性测试
42. 用产品级数据库进行性能测试
43. 为预期受众定制可使用性测试
44. 特定需求和整个系统都需要考虑安全性
45. 研究系统对并发性测试计划的实现
46. 为兼容性测试建立搞笑的环境
管理测试的执行
47. 明确定义测试执行周期的开始和结束
48. 隔离测试环境和开发唤醒
49. 实现缺陷追踪生命周期
50. 追踪测试工作的执行
<<有效软件测试>> 读书笔记和自己的一些思考的更多相关文章
- 《软件测试自动化之道》读书笔记 之 基于反射的UI测试
<软件测试自动化之道>读书笔记 之 基于反射的UI测试 2014-09-24 测试自动化程序的任务待测程序测试程序 启动待测程序 设置窗体的属性 获取窗体的属性 设置控件的属性 ...
- 《软件测试自动化之道》读书笔记 之 基于Windows的UI测试
<软件测试自动化之道>读书笔记 之 基于Windows的UI测试 2014-09-25 测试自动化程序的任务待测程序测试程序 启动待测程序 获得待测程序主窗体的句柄 获得有名字控件的 ...
- 《软件测试自动化之道》读书笔记 之 底层的Web UI 测试
<软件测试自动化之道>读书笔记 之 底层的Web UI 测试 2014-09-28 测试自动化程序的任务待测程序测试程序 启动IE并连接到这个实例 如何判断待测web程序完全加载到浏览 ...
- 《软件测试自动化之道》读书笔记 之 SQL 存储过程测试
<软件测试自动化之道>读书笔记 之 SQL 存储过程测试 2014-09-28 待测程序测试程序 创建测试用例以及测试结果存储 执行T-SQL脚本 使用BCP工具导入测试用例数据 ...
- 《软件测试自动化之道》读书笔记 之 XML测试
<软件测试自动化之道>读书笔记 之 XML测试 2014-10-07 待测程序测试程序 通过XmlTextReader解析XML 通过XmlDocument解析XML 通过XmlPa ...
- 软工读书笔记 week 5 ——《构建之法》
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...
- 《构建之法》CH5~6读书笔记 PB16110698 第九周(~5.15)
这段时间我阅读了<构建之法>的大部分章节,包括个人技能.软件测试.用户体验和需求分析等相关内容.之前的个人作业和结对作业结束后,我们的工作重心终于转向了团队项目,作为团队中前端组的组长,我 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
随机推荐
- SPSS数据分析—单因素及多因素方差分析
t检验可以解决单样本.两个样本时的均值比较问题,但是对于两个以上样本,就不能用t检验了,而要使用方差分析.t检验是借助t分布,方差分析是借助F分布,基于变异分解的思想进行. 在算法上,由于线性模型的引 ...
- POSIX信号
POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEE ...
- TabControl控件的DrawItem事件怎么注册
只有DrawMode等于OwnerDrawFixed时,才会在绘制选项卡时发生DrawItem事件tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;
- Android学习(未完)
Android四大组件1.Activity活动活动Activity是一种可以包含用户界面的组件,主要用于和用户进行交互活动之间使用intent进行通信,激活组件,分为1.显式intent2.隐式int ...
- 无任何网络提供程序接受指定的网络路径(系统服务里没有workstation服务)
今天同事访问公司服务器时,提示“无任何网络提供程序接受指定的网络路径”,网络ping正常,把防火墙关掉,再次尝试问题如故. 于是上网搜索: 1.服务停止:一般有workstation,server,c ...
- asp.net还原备份数据库(C#)
因为做项目的时候用到对数据库的还原和备份,第一次接触,所以上网查了关于这方面的资料,网络果然是个好东西,该有的都有了,这里我就把原文中的代码直接粘贴过来了. using System; using S ...
- JavaScript对象中的属性(可写,可配置,可枚举,value,getter,setter)
JavaScript中,对象包括3个特性,分别为,可扩展性,class标识符,属性. 如果对象的可扩展性为false,则不可为对象动态的添加属性. 对象包含分为存取器属性和值属性.存取属性为 {g ...
- Topcoder SRM 583 DIV2 SwappingDigits
题目题意是交换一次,使数字最小,且数字前面不能有前导0 string minNumber(string num) { string res = num; for(int i = 0 ; i < ...
- iOS内部跳转问题
//打开地图 NSString*addressText = @" "; //@"1Infinite Loop, Cupertino, CA 95014&quo ...
- 跟大牛之间关于hibernate的一些探讨记录
hibernate的工作原理!! 1.读取配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transcation 5.持久化操作 6.提交事务 ...