前言
软件测试是一个持续迭代的过程,贯穿于整个项目周期。通过不断测试新版本、报告并修复缺陷,测试人员加深对软件的理解,优化测试策略。这一过程不仅强调回归测试的重要性,也促进了测试驱动开发、持续集成等技术的应用,确保软件质量持续提升。1 软件测试基础知识之测试需要持续迭代
软件测试不仅仅是包括需求分析、制定计划、设计用例、执行用例的线性过程,还包括测试版本1-报告缺陷-测试版本n不断迭代向前的贯穿整个项目周期的过程。
1.1 软件测试总是迭代向前
软件测试周期包括获得程序升级包、环境搭建、用例设计、测试执行、缺陷管理、缺陷分析、测试总结等活动。无论项目使用V模型、螺旋模型还是敏捷开发模型,软件测试人员总是一个版本接一个版本的测试程序。软件测试活动总是迭代向前的:测试版本1→提交缺陷→修复缺陷→测试版本2→提交新缺陷→修复新缺陷→测试版本3→以此类推。
起初,软件测试人员可以通过一些简单的测试来了解和熟悉软件系统,然后根据升级包内容确认测试内容,再通过边界值和等价类划分的经典方法设计测试用例,之后使用冒烟方法对升级包功能进行快速测试,最后对程序升级包和测试策略进行反思,以挖掘软件的风险和测试的不足。
随着软件测试人员对迭代升级包测试的深入,分析已发现的软件缺陷,测试人员对被测软件的认识在不断地增强,他知道哪些测试不太容易找到错误,哪些测试更可能找到问题。程序员在持续提交新功能和修复缺陷,导致软件也在不停地变化。在迭代的过程中,需要使用前进讲到的“前进两步后退一步”的原则:《软件测试原则14:确认回归测试》。
通过迭代开发和测试软件,能够快速获得测试设计的反馈,并且不断完善测试设计。同时,程序员应该利用快速反馈来发现并修复设计中的错误。因此,测试驱动开发、结对编程、持续集成、自动化测试等技术得到了普遍认可和应用。
1.2 使用原则
软件测试贯穿项目整个项目周期,并且总是迭代向前的。在这不断迭代的过程中,不但需要进行确认回归测试,还要动态的调整测试策略。