- 25
- 0
- 约1.51万字
- 约 48页
- 2017-10-08 发布于湖北
- 举报
软件系统测试技术(中国软件评测中心)
中国软件评测中心
2 0 11 年 7 月
我们先来讨论一个问题:
软件测试的目的是什么呢?
什么是软件测试?
程序测试是为了发现错误而执行程序的过程
对软件系统中潜在的各种风险进行评估的活动
VV ,验证(Verification )和确认(Validation )
静态测试和动态测试
两种观点
验证软件是‘工作的’(Dr.Bill Hetzel)
证明软件是‘不工作的’(G.J.Myers )
质量的功能需求
功能性、易用性
质量的非功能需求
性能、有效性、可靠性
质量的用户需求
功能性、易用性、可用性、安全性
质量的企业需求
可维护性、兼容性、可移植性、可扩展性
软件缺陷定义:
从内部看,软件缺陷是软件产品开发或维护过程中所存在的错
误、毛病等各种问题;
从外部看,软件缺陷是系统需要实现的某种功能的失效或违背。
软件缺陷表现形式:
功能、特性没有实现或部分实现;
设计不合理,功能特性不明确,逻辑不清晰或矛盾;
产品实际结果和所期望的结果不一致;
没有达到产品规格说明书所规定的特性、性能指标等;
运行出错,包括运行中断、系统崩溃、界面混乱等;
硬件或系统软件上存在的其他问题。
Software
人的错误 执行软件
错误未发现引入缺陷
分析原因找根源 无容错措施导致失效 发现故障
例一:
在今天的测试过程中,系统出现10次宕机现象
软件失效现象:发生宕机
软件故障情况:使用非法数据输入的情况下发生宕机
软件缺陷:软件中缺少合法性校验
软件错误:详细设计环节缺少合法性校验内容,且文档评审
工作不到位
修改建议:增加合法性校验,加强文档评审工作
例二:
软件在500用户并发情况下会发生大量交易失败
软件失效现象:不能承担500用户的并发交易
软件故障情况:在进行用户交纳月通话费的情况下交易失败
软件缺陷:服务器CPU 占用率持续在100%
软件错误:系统设计环节未进行关键技术验证与仿真
修改建议:重新选择服务器(重点是CPU ),加强对关键技
术的验证与仿真工作
以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通
过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软
件缺陷和错误造成的隐患带来的商业风险。(直接目标)
测试是以评价一个程序或者系统属性为目标的一种活动,测试是对
软件质量的度量与评估,以验证软件的质量满足用户的需求,为用
户选择与接受软件提供有力的依据。(期望目标)
通过分析错误产生的原因还可以帮助发现当前开发工作所采用的软
件过程的缺陷,以便进行软件过程改进。同时通过对测试结果的分
析整理,还可以修正软件开发规则,并为软件可靠性分析提供依据。
(附带目标)
验证用户需求
发现软件缺陷
改进开发过程
我们再来看看这个问题:
软件测试的流程是什么呢?
设计说明书
理解正确性 设计员:我要让软件 理解正确性
设计正确性 怎么做? 编码正确性
表达正确性
需求规格说明书 源程序
分析员:我可以提供 程序员:我要让计算
原创力文档

文档评论(0)