测试理论复习第一天
测试理论1、软件相关知识2、测试基础3、测试方法
4、测试阶段
一、软件相关基础
1、什么是软件 ----软件=程序+数据+文档
程序=(源程序+目的程序)
数据包括测试人员产生的数据和管理人员产生的数据
文档:需求文档,设计文档
2、软件的生命周期
[*]计划(项目计划文档,由项目经理的完成,主要包括工作内容,人员分配,时间安排,成本分析,风险分析)
[*]需求(软件需求说明书(SRS),产品部的产出物(输出工件,交付件),还包括界面原型图)
[*]设计(概要设计文档,详细设计文档,数据设计文档)
[*]编码(程序员开发写程序)
[*]测试(测试人员比对实际结果与需求、设计文档(预期结果)是否一致)
[*]运维(运维人员负责软件上线后的维护)
3、测试流程
[*]需求评审
[*]测试计划
[*]测试方案
[*]分析测试点
[*]编写测试用例
[*]评审测试用例
[*]程序员写完源程序,提交到测试部门
[*]搭建测试环境
[*]冒烟测试
[*]执行测试用例
[*]提交并跟踪缺陷
[*]回归测试
[*]撰写测试总结报告
4、项目组成人员
[*]项目经理
[*]需求人员
[*]设计人员
[*]开发人员
[*]测试人员
[*]运维人员
[*]QA(质量保证人)目标是预防缺陷
职责:
---制定项目流程规范
---监督项目人员是否按照流程规范工作
---评审项目成果,尤其是测试产出物
[*]配置管理人员:使用专业的配置管理工具管理软件整个研发过程中设计的产出物
5、软件研发模型
[*]瀑布模型(优点:需求稳定,变更少,重复工作少,质量相对较高;缺点:发开成本高,周期长)
[*]螺旋模型(3个月-6个月)
[*]敏捷开发模型(周期:3周左右)(优点:周期短,上线灵活;缺点:需求变更频繁,重复工作较多,质量相对降低)
6、bug类型
[*]遗漏
[*]错误
[*]冗余
二、测试基础
1、软件测试定义:使用人工或自动化工具去运行某个软件的过程,其目的在于,检验软件是否满足规格需求
2、软件测试目的
[*]发现错误
[*]检验软件是否满足规格的需求
[*]软件测试无法证明软件不存在错误
3、软件测试原则
[*]所有的测试都要追溯到用户的需求
[*]测试应该在需求阶段介入
[*]穷尽测试是不可能的
[*]并非所有的缺陷都值得修复
[*]bug的群集效应
[*]杀虫剂怪事
[*]帕累托法则*(82法则)
[*]从小规模到大规模
[*]good-enough
[*]前进两步,后退一步
三、测试方法
[*]依据是否关注程序内部机构(白盒,黑盒,灰盒)
[*]依据是否动态运行软件(动态测试,静态测试)
[*]根据是否使用自动化工具(手动测试,自动化测试)
四、测试阶段
[*]单元测试
测试范围:测试程序的最小单位,如函数、类
测试依据:详细规格说明书
测试方法:白盒测试
评估基准:逻辑覆盖
[*]集成测试
测试范围:测试模块与模块之间的接口,以及集成后的功能
测试依据:概要设计说明书
测试方法:灰盒测试
评估基准:接口覆盖
[*]系统测试
测试范围:测试系统的功能及非功能
测试依据:需求规格说明书
测试方法:黑盒测试
评估基准:需求覆盖
[*]验收测试
---正式验收测试
---α测试(内侧)
---β测试(公测)
总结的太好了,很有用:victory: 是要考试吗?
页:
[1]