**软件质量:**软件产品的特性可以满足用户功能、性能需求的能力。
软件产品质量的六大特性:功能性、可靠性、可使用性、效率、可维护性、可移植性
测试计划包括:a.概述 b.测试范围 c.测试策略d. 资源安排 e.进度安排 f.发布标准 g.测试交付件
**测试用例:**用例编号、用例名称、所属功能模块、前置条件、测试数据、测试步骤、预期结果、实际结果、备注。
**Bug表单:**编号、Bug描述(summary)、环境信息:操作系统/数据库/浏览器/软件版本 (OS/Database/Project/Build/Release)、所属功能模块、测试/开发人员、发现日期、发现人、严重等级(1-5)、优先级、状态、重现步骤、实际结果、是否要回归问题等
软件生命周期
计划-需求分析-设计-编码-测试-运维
测试生命周期
需求分析–编写测试计划–编写测试用例–测试执行(包括bug跟踪)–编写测试报告
测试流程
拿到需求文档-需求分析-写测试计划-计划评审-写测试用例-用例评审-冒烟测试-迭代第一轮/二轮……-缺陷跟踪-回归测试-编写测试报告
Bug生命周期
New–Open–fixed–close
缺陷的状态一般分为:新建、打开、已分配、已修复、关闭、重新打开。
①发现缺陷(记录缺陷报告、提交给程序员)
②打开(程序员修改)
③解决(测试员确认、缺陷已修复/关闭报告)
④关闭
软件的缺陷等级
用严重性和优先级来描述;
严重性:衡量缺陷对客户满意度的影响
1,致命错误,模块异常,死机,导致系统崩溃等问题;
2.严重错误,模块功能失常或异常退出;
3.一般错误,模块功能部分失效,次要功能不能正常实现;
4.建议模块,改进建议;
优先级:缺陷被修复的紧急程度;
1.立即解决(P1级):缺陷导致系统功能几乎不能使用或者测试不能继续,需立即修复;
2.高优先级(P2级):缺陷严重,影响测试,需优先考虑;
3.正常排队(P3级):缺陷需要正常排队等待修复;
4.低优先级(P4级):缺陷可以在有时间的时候被纠正;
“5W”规则
“What (做什么)”、“Why (为什么做)”、“When (何时做)”、“Where(在哪里)”、“How (如何做)”。
利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why ),明确测试的范围和内容(What ),确定测试的开始和结束日期(When ),指出测试的方法和工具(How ),给出测试文档和软件的存放位置(Where )。
单元测试、集成测试、系统测试的侧重点是什么?
单元测试:开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确,测试重点是程序的正确性验证等。
集成测试:测试系统的模块和它们之间的接口,测试重点是模块间的衔接以及参数的传递等。
系统测试:将经过测试的子系统装配成一个完整系统来测试。确保最终软件系统满足产品需求并且遵循系统设计,测试重点是整个系统的运行以及与其他软件的兼容性。
集成测试与系统测试关系:
(1)集成测试的主要依据概要设计说明书,系统测试的主要依据是需求设计说明书;
(2)集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、网络以及相关外设的测试
测试结束的标准
用例全部测试
覆盖率达到达到标准
缺陷率达到标准
其他指标达到标准
如何保证测试用例的覆盖率
准确的需求分析后,在设计测试用例的时候,可以使用多种测试用例设计方法。
l 首先进行等价类划分,包括输入条件和输出条件的等价类划分,合理设置有效等价类和无效等价类,这是减少工作量和提高测试效率最有效的方法。
l 必须使用边界值分析,经验表明,这种方法设计出的用例能发现很多程序错误。
l 可以使用错误推测法追加一些测试用例,这需要依靠您的智慧和经验。
l 对照程序逻辑检查已设计出的测试用例的逻辑覆盖度,如果没有达到覆盖标准应当再补充足够的测试用例。
l 如果程序的功能说明中含有输入条件的组合情况,一开始就可选因果图和判定表驱动法。
l 对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。
l 对于业务流清晰的系统,可以利用场景法贯穿整个测试方案过程,在案例中综合使用各种测试方法。
当测试用例设计完成后,要组织测试用例的评审,这样可以吸取别人的意见,减少遗漏,补全测试用例。
测试用例的方法 编写例子
- 等价类划分(黑盒测试)
指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的
有两种不同的情况:有效等价类和无效等价类.
2.边界值分析法(黑盒测试)
对输入和输出的边界值进行测试,是对等价类划分方法的补充,当等价类是数字时,才能用边界值法
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据
0和负数都是特殊值,也要考虑
3.错误推测法
进行错误操作
4.因果图方法
因果图方法最终生成的就是判定表. 将判定表的每一列作为依据,设计测试用例,检查程序输入条件的各种组合情况.