单元测试四大过程

单元测试四大过程(蓝桥课学习笔记)

单元测试过程

单元测试是软件测试过程中的一个关键环节,它与集成测试、系统测试一样,分为测试策划、测试设计、测试执行和测试总结几个阶段。

单元测试过程中每个阶段需要完成的主要工作如下:

单元测试策划阶段

单元测试策划阶段的主要工作是完成单元测试计划。在这个过程中,测试人员会根据项目计划、被测试软件的设计文档对被测试软件单元进行分析并确定以下内容,形成测试计划文档:

  • 确定需要测试的软件特性:根据设计文档的描述确定软件单元的功能、性能、接口、数据结构、设计约束等内容和要求并对其进行标识,从中确定需测试的软件特性;
  • 确定测试的充分性要求:根据测试目标、单元的重要性与约束条件等,确定测试应覆盖的范围及这些范围的覆盖程度(例如,语句覆盖率、分支覆盖率、基本路径覆盖率等);
  • 确定测试终止条件:在测试计划中,我们需要明确单元测试的结束条件,即什么时候可以结束单元测试。测试结束一般分为两种情况,一种是测试通过正常结束单元测试(如,测试充分性是否达到要求),另一种是导致测试异常结束的可能情况(例如,出现一些编码错误导致单元测试无法继续进行等);
  • 确定测试资源要求:包括测试过程中需要的软件、硬件、人员数量、人员技能等资源要求;
  • 确定测试需要的技术和方法:例如,测试数据生成的方法、测试结果获取方法等;
  • 确定测试时间进度;
  • 对测试过程中可能存在的风险进行分析与评估,制定风险应对措施;
  • 需交付的工作产品:单元测试需交付的工作产品一般包括测试计划、测试用例、测试记录、缺陷报告、测试报告等。

单元测试计划完成以后,一般需要组织相关人员进行评审,评审通过后方可进入下一步工作。单元测试计划评审的内容主要包括:

  • 测试的范围、资源、进度、终止条件等是否明确;
  • 测试方法是否可行、合理、有效;
  • 风险的分析与应对措施是否准确可行;
  • 测试文档是否符合规范。
单元测试设计阶段

单元测试计划评审通过后即可以进入测试设计阶段,测试设计阶段主要完成以下工作:

  • 设计测试用例:将需要测试的软件特性进行分解,运用测试用例设计方法针对分解后的每种情况分别设计测试用例;
  • 确定测试用例执行顺序:可以从测试用例失效造成的影响、资源约束、风险等方面进行考虑;
  • 准备测试数据:包括获取现有的测试数据和生成新的数据,并按照要求验证所有的数据;
  • 编写测试程序:包括开发单元测试的驱动模块和桩模块,以及测试支持工具等;
  • 搭建测试环境。

为了保证测试的有效性,单元测试过程中的工作产品,如测试用例等也需要按照项目的要求进行评审。

单元测试执行阶段

单元测试执行阶段测试人员的主要工作是按照单元测试计划和单元测试设计阶段产出的测试用例、用例执行顺序等的内容和要求执行测试,主要包括:

  • 执行测试用例并记录结果:按照测试计划、测试用例执行顺序等文档的要求依次执行测试用例,将每个测试用例的期望结果与实际执行结果进行比较判定该用例是否通过,并记录执行结果;
  • 提交并跟踪缺陷:如果程序的实际输出结果与测试用例的预期结果不一致,需提交缺陷给相关开发人员进行修复,并对缺陷进行跟踪直到缺陷正确修复为止;
  • 回归测试:代码中的缺陷修复并验证完成后,需评估该缺陷的影响范围并进行回归测试,确保缺陷已正确修复且未影响到其他功能。
单元测试总结阶段

在单元测试总结阶段,测试人员应根据被测软件的设计文档、单元测试计划、测试记录、缺陷报告等内容对测试工作进行总结,完成单元测试报告。单元测试报告的内容与系统测试的内容类似,主要包括:

  • 测试范围总结:总结本次单元测试的具体范围。如果测试过程中有未能被测试活动充分覆盖的范围,需在报告中说明未测试到的范围及原因;
  • 测试过程分析:测试报告中需对测试过程中的进度、资源、测试用例执行等情况进行总结分析;
  • 缺陷分析:与系统测试类似,单元测试报告中需对缺陷的类别、严重程度、解决情况等进行分析;
  • 遗留问题:如果测试过程中有遗留问题,需在报告中记录这些问题及未解决的原因;
  • 测试结论:测试报告中需明确地给出本次测试的结论(通过或不通过);
  • 评价与建议:测试报告中还需将测试结果与软件设计文档对照,对软件单元的设计与实现作出评价,并提出改进建议。

同样,测试总结阶段也需要按项目要求进行相应的评审工作,评审测试执行活动的有效性、测试结果的正确性和合理性,以及是否达到了测试目的、测试文档是否符合相关标准规范等。

相关推荐
王解9 小时前
Jest项目实战(4):将工具库顺利迁移到GitHub的完整指南
单元测试·github
Devil枫20 小时前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
小袁在上班1 天前
Python 单元测试中的 Mocking 与 Stubbing:提高测试效率的关键技术
python·单元测试·log4j
测试19981 天前
外包干了2年,快要废了。。。
自动化测试·软件测试·python·面试·职场和发展·单元测试·压力测试
安冬的码畜日常1 天前
【The Art of Unit Testing 3_自学笔记06】3.4 + 3.5 单元测试核心技能之:函数式注入与模块化注入的解决方案简介
笔记·学习·单元测试·jest
王解1 天前
Jest项目实战(2): 项目开发与测试
前端·javascript·react.js·arcgis·typescript·单元测试
程序员小雷2 天前
软件测试基础:单元测试与集成测试
python·功能测试·selenium·测试工具·单元测试·集成测试·压力测试
王解2 天前
Jest进阶知识:深入测试 React Hooks-确保自定义逻辑的可靠性
前端·javascript·react.js·typescript·单元测试·前端框架
程序员雷叔2 天前
外包功能测试就干了4周,技术退步太明显了。。。。。
功能测试·测试工具·面试·职场和发展·单元测试·测试用例·postman
安冬的码畜日常2 天前
【玩转 Postman 接口测试与开发2_005】第六章:Postman 测试脚本的创建(上)
javascript·测试工具·单元测试·postman·bdd·chai