1
2
Myers在1979年提出了一个重要观点,即软件测试的目的是为了(查找程序错误)。
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
敏捷测试人员的十条法则
1. 提供持续反馈 2. 为客户创造价值 3. 面对面沟通 4. 勇气 5. 简单化 6. 持续改进 7. 响应变化 8. 自我组织 9. 关注人 10. 享受乐趣
敏捷测试的特征
① 尽早和持续地开展测试
② 能及时完成对软件质量全面评估
③ 软件本身是测试研究和分析最主要的对象 ④ 在满足所要求的质量,测试进行得越快越好 ⑤ 测试人员必须和项目干系人保持密切协作 ⑥ 对测试人员足够信任和尊重
⑦ 测试计划、设计和执行力求简单 ⑧ 对测试技术精益求精
⑨ 不断反思,持续优化测试设计
18
19
20
静态测试技术:不运行被测试程序,对代码通过检查、阅读进行分析。 三步曲:互查走查评审
实施代码规范的原因:
可靠性
可读性和可维护性 可移植性
动态测试需要真正将程序运行起来,需要设计系列的测试用例保证测试的完整性和有效性。
21
驱动程序(driver),对底层或子层模块进行(单元或集成)测试时所编制的调用被测模块的程序,用以模拟被测模块的上级模块。
桩程序(stub),对顶层或上层模块进行测试时,所编制的替代下层模块的程序,用以模拟被测模块工作过程中所调用的模块。
22
23
压力测试:也称为强度测试。是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。
并发性能测试的过程也是一个负载测试过程,即逐渐增加并发虚拟用户数负载,直到系统出现性能瓶颈或者崩溃为止。
破坏性压力测试,通过不断加载的手段,快速造成系统的崩溃,让问题尽快地暴露出来。
24
性能测试需求:
用户对各项指标提出的明确需求;如果用户没有提出性能指标,则根据用户需求、测试设计人员的经验来设计各项测试指标。(需求+经验) 主要的性能指标:
服务器的各项指标(CPU、内存占用率等)、后台数据库的各项指标、网络流量、响应时间 性能的具体指标
1. 数据传输的吞吐量(Transactions)
2. 数据处理效率(Transactions per second) 3. 数据请求的响应时间(Response time) 4. 内存和CPU使用率
5. 连接时间(Connect Time)、发送时间(Sent Time) 6. 处理时间(Process Time)、页面下载时间 7. 第一次缓冲时间 8. 每秒(SSL)连接数
9. 每秒事务总数、每秒下载页面数 10. 每秒点击次数、每秒HTTP 响应数 11. 每秒重试次数
系统负载= 并发用户并发数量+ 思考时间+ 每次请求发送的数据量+ 负载模式
负载测试过程
25
性能测试的步骤
1. 确定需求 2. 计划和设计 3. 工具的选择 4. 配置环境
5. 实现设计(开发测试脚本) 6. 执行 7. 分析结果
8. 重复上述(4)~ (6)步骤,直至结果满意 9. 提交报告 10. 确定需求 11. 计划和设计 12. 工具的选择 13. 配置环境
14. 实现设计(开发测试脚本) 15. 执行 16. 分析结果
17. 重复上述(4)~ (6)步骤,直至结果满意 18. 提交报告
26
验收测试报告,也称为发布报告
易用性测试没有具体量化的指标,主观性较强
27
直观性:
- 首先了解所需的功能或期待的响应显著,并在预期的地方出现。 - 其次要考虑用户界面的组织和布局是否合理。 一致性:
- 包括软件本身的一致性,以及软件与其他软件的一致性。
舒适性:
恰当的表现、合理的安排、必要的提示或更正能力等是要考虑的因素,包括容错处理和性能。 正确性:
正确性的问题一般都很明显,比较容易发现。 实用性:
实用性不是指的是软件本身是否实用,而仅仅指的是具体特性是否实用。大型软件的开发或周期较长经过几次反复的软件开发中容易产生一些没有实用性的功能。
自动化测试的主要特征:测试工具的使用。
28
29
测试的原则
1. 尽早和不断地测试
2. 重点测试(80/20原则)
30
3. 测试阶段性
计划、设计、开发、执行、结果分析、报告
4. 测试性
程序员避免测试自己的程序,应由的测试小组、第三方来完成测试
5. 测试客观性
事先定义好产品的质量特性指标
6. 计划是一个过程 进一步细化、丰富、调整
7. 测试是开发的一部分 软件开发和测试交互进行
8. 发现缺陷更多的地方,其风险更大(Myers) 9. 想用户所想
测试计划是项目计划的组成部分
测试计划依赖于软件组织过程、质量文化和方针 测试计划是指导今后一系列测试活动的文件
测试计划更是一个过程,随着项目的进展不断更新
31
32
33
34
35
36
37
38
缺陷的严重等级
39
借助趋势分析发现问题
1. 产品的质量是否达到预定的标准 2. 缺陷修正的速度是否滞后 3. 测试人员验证缺陷是否及时 4. 缺陷遗漏程度 5. 回归缺陷数量
6. 处理流程是否合理
40
基于web和数据库的缺陷管理系统所带来的益处
1. 可以统一数据格式、完成数据校验
2. 可以随时建立查询条件和动态的数据报表 3. 可以随时得到最新的缺陷状态
4. 可以将缺陷和测试用例、需求等关联起来
41
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务