无论做什么工作,都是计划先行,然后按照所制定的计划去执行、跟踪和控制。软件测试也一样,先要制定测试计划,是做好整个测试工作的前提。所以在进行实际测试之前,应制定良好的、切实可行的、有效的测试计划。软件测试计划的目标是提供一个测试框架,不断收集产品特性信息,对测试的不确定性(测试范围、测试风险等)进行分析,将不确定性的内容慢慢转化为确定性的内容,该过程最终使得我们对测试的范围、用例数量、工作量、资源和时间等进行合理的估算,从而对测试策略、方法、人力、日程等做出决定或安排。
1.测试计划的要点
测试规划与软件开发活动同步进行,在需求分析时,就开始测试策划,确定测试需求、目标、资源等。测试计划可以按不同的测试阶段(集成测试、系统测试等)来组织,也可以为每个测试任务或目标(安全性、性能、可靠性等测试) 进行考虑。
测试计划主要集中在测试目标、质量标准、测试策略、测试范围、测试用例设计方法、所需资源和日程安排等,其关键是制定有效的测试策略,界定清楚地测试范围,识别出测试中所存在的各种风险并找出风险回避、监控和管理的方法,针对不同的测试目标或阶段确定测试方法,对测试工作量及所需的资源、时间进行合理的估算。所有这些,都是为了两个根本目的:测试的质量和效率。
2.制定测试策略
制定测试策略主要分析测试的目标和质量指标、确定测试的对象和依据,测试的重点和所采用的方法,包括在规定的时间内哪些测试内容要完成,软件产品的特性或质量在哪些方面得到确认。测试策略可以分为:
- 基于测试技术的测试策略,根据软件系统的技术构成和层次结构,着重考虑如何分层测试、选择哪些测试工具、如何将白盒测试和黑盒测试有机地结合起来等。
- 基于测试方案的综合测试策略,根据测试的目标和范围,着重考虑如何更好地满足测试需求、如何让功能测试、适用性测试和兼容性测试等进行有机结合、如何充分利用测试资源、如何更有效地完成回归测试等。
为了更好地制定好测试策略,要做到:
- 全面细致地了解产品的项目信息:应用领域、测试范围、市场需求、产品特点、主要功能和技术架构;
- 基于模块、功能、系统、版本、性能、配置和安装等各个因素对产品质量的影响,客观地、全面地展开测试计划;
- 根据软件单元在系统结构的重要性差异和一旦发生故障将给客户造成的损失大小,来确定软件测试的等级、重点和先后次序;
- 需要在测试用例数和测试覆盖率上进行权衡而获得一个平衡点,以便能使用尽可能少的有效测试用例去发现尽可能多的程序错误。测试不足意味着让用户承担隐藏错误带来的危险;同时反过来看,过度测试则又会浪费许多宝贵的资源或耽误软件产品的发布时间。
3.确定测试范围
测试主要依据 “产品设计规格说明书”、代码所发生的变化及其影响的区域,来确定哪些功能和特性要测试,哪些功能和特性不需要测试。在确定测试范围时,主要考虑的因素有:
- 优先级最高的需求功能
- 新增加的功能和编码改动较大的已有功能
- 容易出现问题的部分功能
- 过去测试不够充分的地方
- 经常被用户使用的功能和配置(占20%)
4.所需资源和日程安排
为了合理、准确地安排日程,对测试工作量要进行正确的估计。除了对工作量的估计之外,还要正确评估参与该项目人员的培训时间、适应过程和工作能力等。由于涉及到不同的项目、不同的测试人员、不同的前期介入方式,要对每人每天能够完成的平均测试用例数目做出一个准确的估计确实很困难,但是可以根据以前一些项目测试的经验或历史积累下来的数据进行判断推理,并适当增加10%-20%的余量,估算结果就比较准确了。
在估算的基础上,进行有效的、合理的资源安排。在不同的测试阶段人力资源的需求是不一样的,所以人力资源的计划要有一定的灵活性和动态性,形成有机的动态平衡,保证测试的进度和资源的使用的效率。
5.编制测试计划的技巧
要做好测试计划,测试设计人员要仔细阅读有关资料,包括用户需求规格说明书、设计文档等,全面熟悉系统,并建议注意以下方面:
- 让所有合适的相关人员参与测试项目的计划制定,特别是在测试计划早期;
- 测试所需的时间、人力及其它资源的预估,尽量做到客观、准确、留有余地;
- 测试项目的输入、输出和质量标准,应与各方达成一致;
- 建立变化处理的流程规则,识别出在整个测试阶段中哪些是内在的、不可避免的变化因素,加以控制。
6.测试项目计划的评审
测试项目的计划不可能一气呵成,而是要经过计划初期、起草、讨论、审查等不同阶段,才能将测试计划制定好。测试计划的评审是完成测试计划关键的一个环节,包括测试组织内部的自我评审、讨论和修改,然后交到评审会进行正式的评审,直至测试计划得到审批。
测试计划的正式评审,项目中的每个人(产品经理、项目经理、开发工程师等)都应当参与。计划的审查是必不可少的,每一个参与者都可能根据其经验及专长提出问题或建议,弥补在测试范围、工作量、风险等各方面的不足,进一步完善测试计划。
预知后事如何,请读下回分解:第19回 测试资源的合理分配
<o:p> </o:p>版权所有,软件测试演义®<o:p></o:p> ——系列讨论的目录,见: 软件测试演义——中高级系列(序)
分享到:
相关推荐
- **验证**:测试人员验证修复的有效性。 - **关闭**:确认无误后关闭缺陷记录。 #### 二十七、软件安全性测试的方面 - **认证**:验证用户身份。 - **授权**:控制用户访问权限。 - **加密**:保护数据传输安全。...
统测试..........................................................................................................................................42.2测试方法 ..............................................
一个详尽的测试方案能有效指导测试团队进行系统性、全面性的测试,确保产品质量,减少风险,同时为项目管理提供决策支持。在实际应用中,测试方案需根据项目需求进行定制,并随着项目的进展不断更新和完善。
- 定期评估测试计划的有效性,及时调整。 #### 八、测试用例是设计出来的,不是写出来的 **核心要点:** - **设计导向:** 测试用例的设计需有针对性和目的性。 - **全面覆盖:** 除了功能测试,还需关注非功能...
“第18章-软件质量保证”是软件测试的延伸,它不仅关注测试,还关注整个软件生命周期的质量管理,包括质量计划、质量控制、质量改进等。 通过这个压缩包的学习,你将能够系统地了解和掌握软件测试的全貌,从基本...
合理的计划有助于确保测试的全面性和进度控制。 三、编写详尽的测试用例 测试用例是指导测试执行的详细步骤,包括输入数据、预期结果和执行步骤。确保覆盖正常情况和异常情况,例如边界条件、错误输入、性能压力等...
软件测试工程管理涉及测试计划、测试进度监控、资源管理、风险管理等,确保测试过程的系统性和有效性。 第十八章:试题与答案 这部分可能提供了针对书中内容的练习题和解答,帮助读者巩固学习成果。 总之,《软件...
11. **测试计划分析**:生成报告和图表,便于分析测试计划的有效性和覆盖程度,持续优化测试计划。 12. **测试集定义**:定义多个测试集,以满足不同测试目标,如回归测试、验收测试等,明确每个测试集包含的测试项...
第十四章至第十六章,探讨了性能测试、安全测试和兼容性测试,讲解了如何进行压力测试、渗透测试和多平台测试,以确保软件在各种环境下的稳定性和安全性。 第十七章,是实战案例分析,通过具体的项目实例,让读者...
本章聚焦于软件性能测试,包括负载测试、压力测试和耐久测试,以确保软件在高并发和大量数据处理时的稳定性和效率。还介绍了性能测试工具的使用,如JMeter或LoadRunner。 第七章:安全测试 安全测试是保障软件安全...
参考文件包括开发计划、授权、设计描述、质量保证和配置管理计划等,确保测试的全面性和合规性。 测试项的组成涉及所有软件工程系列课程辅助网站的组件,测试版本由配置管理员控制,并根据新版本更新通知测试团队。...
"Team18-软件测试计划-修改说明表1" 提到了对软件需求规格说明书的若干修改,这些修改主要集中在文档的结构、图表编号以及功能描述上,旨在提升文档的完整性和准确性。 首先,"目录重新生成"意味着原先的目录可能...
在信息技术领域,软件测试工程师扮演着至关重要的角色,他们确保产品的质量、稳定性和安全性。本资料集“软件测试工程师试题.rar”包含了历年来的专业试题,旨在帮助备考者深入理解软件测试的核心知识和技能。本文将...
1. 测试生命周期通常包括需求分析、测试计划、设计测试用例、实施测试、缺陷管理、测试报告和测试总结等阶段。 2. 在每个阶段,都需要明确测试目标,制定相应的测试策略和计划。 三、测试类型 1. 单元测试:针对...
18. 测试用例:测试用例是一组条件或变量的集合,用于定义一个测试的输入、执行条件、预期结果,以判断软件的某个功能是否有效。 19. 测试用例设计:包括步骤、基本思想(如等价类划分、边界值分析等)和执行步骤。...
- **优先级**:根据测试的重要性和紧急性分配不同的优先级。 #### 四、缺陷管理(Defect Management) 缺陷管理是指在软件测试过程中发现并跟踪问题的过程,主要包括: 1. **缺陷报告**: - 发现缺陷时,需记录...
通过这样的测试集,可以确保软件的所有部分都被充分测试过,从而提高测试的完整性和有效性。 #### 16. Behaviour(行为) 行为是指软件系统对外界输入做出的反应或动作。了解软件的行为模式有助于预测其在不同情况...