分类:
2010-08-31 10:41:52
听课笔记:
测试: 发现错误->度量、定义、优化,帮助开发团队提高产品质量。
测试工程师:
1. 了解软件的需求、如何定义
敏捷宣言:
1. 个体和交互 胜过 过程和工具
2. 可以工作的软件 胜过 面面俱到的文档
3. 客户合作 胜过 合同谈判
4. 响应变化 胜过 遵循计划
简单:最简单的方式做事情,设计,实现
沟通:开发和测试的沟通,开发和客户,测试和客户的沟通
反馈:每一步结果都是透明的,通过反馈体现度量,不断测试,不断度量,(了解与客户的要求的目标和差距,看到整体的情况)
勇气:勇于接受改变,勇于创新。
敏捷对测试是挑战。会遇到的问题:
开发过程中更少的文档,更快的迭代周期,需求和设计有频繁的改变。
1. 难以依赖文档来设计测试。
2. 更短的时间完成测试。->更快的迭代周期.
3. 更快的需求设计的改变->没有足够的时间去了解改变的细节,必须了解系统和测试并行,通过使用系统、测试系统来了解系统。测试具有探索和实验性。
测试和开发->1:10, 在google.
质量文化:所有工程师的质量具有同等信条的责任。开发和测试责任同等,同重要。开发工程师也要做测试的工作。不一角色来定义任务,而以任务来定义工作。原则性的划分,无绝对界限。
测试任务:
1. 建立不同层次的质量验收准则。持续验收。(代码、接口、功能、面向用户)
自动化测试、test thread.
2. 让开发人员随时接收到关于代码的反馈。
3.
A.通过测试驱动的方式不断提高代码的质量。
B.建立合适的自动化测试框架,减少测试时间投入。
C.建立可见的质量和度量体系,让产品和代码的质量反馈持续可见。
测试工程师做什么?
1. 获取一切用户的质量希望。建立相应的质量的标准。
2. 建立合适的系统测试和客户验收测试的标准。
3. 推进单元的开发和测试.
4. 建立持续测试的框架.
5. 持续改进自动化测试和保持质量度量的可见性.
大量的自动化测试依赖于底层和接口.提供更好,更快,更大的自动化测试覆盖.
UI测试少自动化?
Google敏捷测试的过程管理:计划.设计,执行,评估,总结,等等.
1. 1page test plan, 需要测试的东西?测试类型?测试标准?
2. 测试设计:
a) 探索性测试方法:对于迭代所增加的,发生变化的功能。通过测试学习应用系统,设计测试和执行测试同时并行,交错执行。
b) 自动化测试:相对稳定的部分,建立相应的质量度量的框架。通过结果来确定哪里发生了改变?哪里有可能是有缺陷的地方?产品离质量定义的标准有多大的距离?
3. 手动测试:对新功能和修改功能进行了解和验证.
随机测试:基于对应用的理解,尝试发现应用中可能出现的问题.
自动化测试:不同级别和层次的测试,安全性测试,模糊性测试.不断分析,调试和优化现有的自动化测试.
回归测试?:a, 通过自动化测试覆盖回归测试. b,通过定义老版本和新版本的区别,定义测试范围。
产品发布阶段:产品检查?产品回滚?产品运行?
敏捷测试的过程?
Tott?
非敏捷的项目?
1. 意识.
2. 目标和任务,而不是过程.
3. 不以角色定义行为.
4. 测试是一个集成在开发的过程行为.
5. 测试工程师的任务清单.
帮助开发开发工程师生产出具有良好可测试性的代码:写单元测试.
6. 建立相应的产品质量的反馈.
7. 推动自动化测试.