软件测试综述
2017-09-29 11:22:15 0 举报
AI智能生成
河北经贸大学2015级信计一班孙晓阳
作者其他创作
大纲/内容
软件测试的背景
软件错误用例研究
迪斯尼的狮子王,1994-1995
英特尔奔腾浮点除法缺陷,1994
美国航天局火星极地登陆者号探测器,1999
爱国者导弹防御系统,1991
千年虫问题,大约1974
危险的预见,2004
软件缺陷
术语
缺点defect
故障fault
问题problem
错误error
事件incident
异常anomaly
偏差variance
失败failure
矛盾inconsistency
特殊feature
缺陷bug
定义
1)软件未实现产品说明书要求的功能
2)软件出现了产品说明书指明不应该出现的错误
3)软件实现了产品说明书未提到的功能
4)软件未实现产品说明书虽未明确提及但应该实现的目标
5)软件难以理解,不易使用,运行缓慢或者——从测试员的角度看——最终用户会认为不好
2)软件出现了产品说明书指明不应该出现的错误
3)软件实现了产品说明书未提到的功能
4)软件未实现产品说明书虽未明确提及但应该实现的目标
5)软件难以理解,不易使用,运行缓慢或者——从测试员的角度看——最终用户会认为不好
软件缺陷出现的原因
设计
说明书
编码
软件缺陷的修复费用
随时间指数级增长
软件测试员
目标:尽可能早的找出软件缺陷,并确保其得以修复
应具备的素质:1)他们是群探索者。软件测试员不会害怕进入陌生环境。他们喜欢拿到新软件,安装在自己的机器上,观看结果。
2)他们是故障排除员。软件测试员善于发现问题的症结。他们喜欢解谜。
3)他们不放过任何蛛丝马迹。软件测试员总在不停地尝试。他们可能会碰到转瞬即逝或者难以重现的软件缺陷。他们不会当作是偶然而轻易放过,而会想尽一切可能去发现它们。
4)他们具有创造性。测试显而易见的事实,对软件测试员来说还不够。他们的工作是要设想出富有创意甚至超常的手段来寻求缺陷。
5)他们是群追求完美者。他们力求完美,但是当知道某些无法企及时,不去苛求,而是尽力接近目标。
6)他们判断准确。软件测试员要决定测试内容,测试时间,以及看到的问题是否是真正的缺陷。
7)他们注重策略和外交。
8)他们善于说服
2)他们是故障排除员。软件测试员善于发现问题的症结。他们喜欢解谜。
3)他们不放过任何蛛丝马迹。软件测试员总在不停地尝试。他们可能会碰到转瞬即逝或者难以重现的软件缺陷。他们不会当作是偶然而轻易放过,而会想尽一切可能去发现它们。
4)他们具有创造性。测试显而易见的事实,对软件测试员来说还不够。他们的工作是要设想出富有创意甚至超常的手段来寻求缺陷。
5)他们是群追求完美者。他们力求完美,但是当知道某些无法企及时,不去苛求,而是尽力接近目标。
6)他们判断准确。软件测试员要决定测试内容,测试时间,以及看到的问题是否是真正的缺陷。
7)他们注重策略和外交。
8)他们善于说服
软件开发的过程
产品的组成部分
产品说明书
进度表
软件设计文档
结构文档
数据流图
状态转换图
流程图
代码注释
测试文档
软件项目成员
项目经理,程序经理或监制人员
程序员,开发人员或者监制人员
测试员/QA
技术作者,用户协助专员等
配置管理员或构建员
软件开发生命周期模式
大爆炸模式
简单
边写边改模式
考虑了产品需求
瀑布模式
非常强调产品的定义
步骤分立,没有分叉
无法回溯
螺旋模式
软件测试的实质
测试的原则
完全测试程序是不可能的
软件测试是有风险的行为
软件无法显示有潜伏的软件缺陷
找到的软件越多,就说明软件缺陷越多
软禁测试员找不到bug的原因
程序员也有心情不好的时候
程序员往往犯同样的错误
某些软件缺陷实乃冰山一角
杀虫剂怪事
并非所有软件缺陷都要修复
没有足够的时间
不算真正的缺陷
修复风险太大
不值得修复
什么时候才叫缺陷难以说清:1)软件未实现产品说明书要求的功能
2)软件出现了产品说明书指明不应该出现的错误
3)软件实现了产品说明书未提到的功能
4)软件未实现产品说明书虽未明确提及但应该实现的目标
5)软件难以理解,不易使用,运行缓慢或者——从测试员的角度看——最终用户会认为不好
2)软件出现了产品说明书指明不应该出现的错误
3)软件实现了产品说明书未提到的功能
4)软件未实现产品说明书虽未明确提及但应该实现的目标
5)软件难以理解,不易使用,运行缓慢或者——从测试员的角度看——最终用户会认为不好
产品说明书从没有最终版本
软件测试员在产品小组中不受欢迎
保持小组成员和睦的建议
早点找出缺陷
控制情绪
不要总是报告坏消息
软件测试是一项讲究条理的技术专业
软件测试的术语和定义
精确与准确(precision and Accuracy)
确认和验证(verification and validation)
确认是保证软件符合产品说明书的过程
验证是保证软件满足用户要求的过程
质量和可靠性
质量是产品的优秀程度
可靠性只是质量的一个方面
测试和质量保证(QA)
软件测试员的目标是尽可能早地找出软件缺陷,并确保缺陷得以修复
软件质量保证人员的主要职责是创建和执行改进软件开发过程并防止软件缺陷发生的标准和方法
0 条评论
下一页