CMMI 第十三章读书报告
本章重点:
1、软件测试的基本概念
2、软件测试的分类
3、自动化测试
4、BUG管理流程
围绕本章重点展开论述的读书报告:
1、软件测试的基本概念
IEEE给出的软件测试的定义:使用人工或自动的手段来运行测试某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清结果与实际效果之间的区别。
1-1、软件缺陷:(5点定义)(产品说明书==SPEC)
· 产品未达到spec标明功能
· 软件中出现了spec指明不会出现的错误
· 软件功能未达到spec虽然未指出但应达标的目标
· 软件测试人员认为软件难以理解、不易使用、运行缓慢,或者用户觉得不好
· spec本身不正确或有错误
· 软件庞大,功能十分复杂
· 编程过程出错
· 个别功能要求改变而影响其他部分
· 与要开发对接的软件有缺陷
· 人为因素
1-2、软件测试的原则
(1)不可能完全测试,工作量太大
(2)软件测试是有风险的行为,如果不去软件测试就是选择了风险
(3)测试无法显示潜伏的软件缺陷
(4)软件缺陷可能有很多
(5)软件对测试方法及技术都有免疫力,只有新的测试方法才可以去找到bug
(6) 并非所有的软件缺陷都能修复
(7)难以说清的代码缺陷
(8)产品说明书在不断改变
(9)软件测试小组成员在小组中可能不受欢迎
(10)软件测试是一项讲究条理的技术专业
1-3、软件版本
Alpha版本:公司内部测试版本
该软件的所有功能已基本实现,所有功能都已通过测试,推向市场一般不再修改,已找到的缺陷已修正
Beta版: 对外发布公测
次严重缺陷已经修复并通过测试,一段时间内缺陷发现率低于修正率,所有相关文件都已得到修改
发布版本: 正式发布版本
所有用户的反馈都得到妥善处理,所有文件准备就绪,得到测试部门认可
1-4、 优秀软件测试员必备
探索能力、故障排除能手、不懈努力、创造性、追求完美、判断准确、老练稳重、表达能力、在编程方面受过教育
2、软件测试分类:
白盒测试:测试人员直接在代码的源程序上进行修改、测试、复测。
灰盒测试:介于白、黑两者之间。要求测试工程师对软件结构有了解,但了解又不需要达到白盒程度。
黑盒测试: 从终端用户的角度,从外部测试软件的功能及性能。
按软件开发过程可以将软件测试分为单元测试、集成测试、系统测试、用户验收测试以及回归测试,V模型表示为:
按软件测试要求可以把软件测试分为
基本功能测试:重点对功能测试,无需太细致
全面测试:重点对功能测试,但也要兼顾全部功能
基准测试:对同一个部分在不同部分上的测试
按软件特性分:
功能测试:等价区间测试
非功能测试:主要包括安装和卸载测试,使用测试,恢复测试,兼容性测试,安全测试,性能测试等
各类测试用时表:
3、自动化测试:
优点:为测试节省大量时间和资源,可以反复使用,没有时间要求,保证测试过程的一致性和准确性,有较高的功能测试覆盖区
步骤:
(1)编写测试用例
(2)分析验证测试用例
(3)对已有的测试用例归类,制定测试自动化计划方案
(4)编写自动化测试程序
(5)尽量用“数据驱动”来提高测试覆盖率
(6)将测试用例编写成自动化测试程序
(7)执行测试软件,改写bug
(8)不断完善自动化测试系统或程序
4、bug管理:
bug管理流程:
(1)bug登记-测试工程师,初始
(2)指派任务-项目经理,激活
(3)修改bug-开发工程师,修改
(4)验证-测试工程师,通过则去第五步,不通过则到第2步
(5)关闭-测试工程师
bug分类:
Open:确认提交的缺陷,等待处理
Rejected:不需要修复或缺陷
Resolved:缺陷被修复
Reopen:回测 后,缺陷没有被修复
Closed:回测后,缺陷被修复,将其关闭
按缺陷优先等级分类:
高:立即解决
中:正常排队
低:可暂缓解决