bug引发的惨案
日本证卷公司超过400亿日元损失的bug
1990年AT·T公司断网,损失超过7500万
千年虫bug,全球损失超过5000亿
可解决问题
了解软件测试的含义
软件测试遵循的准则
软件测试有哪些分类?分别是什么概念?
何时开始测试?测试方案如何制定?
测试流程是怎样?怎么提bug?怎么写报告?
为什么要做自动化?怎么做?
软件测试的历史
1972年(第一次以软件测试为主题的正式会议)
1979年(《The art of software testing》给出测试的经典定义)
1996年(测试能力成熟度模型TMM被提出;测试驱动开发,即TDD)
2009年(前谷歌高管提出了探索式测试理论)
什么是软件测试?
早期定义 1973
软件测试是对程序能够按预期运行建立起一种信心
经典定义 1979
测试是为了发现错误而执行程序的过程
IEEE定义(ISO/IEC/IEEE 29119)
使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期之间的差异
软件测试的测试对象
软件概要设计 软件详细设计 软件需求
软件运行环境 可运行程序 软件源代码
、
五大要素和两个目标
软件测试所遵循的原则
一、测试显示缺陷存在,但不能证明系统不存在缺陷
二、穷尽测试是不可能的,应设定及时终止的条件
三、软件测试应尽早进行
四、缺陷具备群集特性
五、测试的杀虫剂悖论
六、测试的二八原则
七、测试活动依赖于测试背景