10.3自动测试的方案选择
在选择自动测试方案之前我们先要确定自动化的对象和范围,然后决定采用什么样的自动测试方案,采用什么样的指导测试脚本开发方法。第29页,共43页,星期日,2025年,2月5日
10.3.1确定自动化的对象和范围
在产品开发过程中,需求的变更是很常见的。对于这种情况,要自动化的对象是很容易确定的。自动化应该考虑需求不变或没有变更的部分。需求变更一般会影响场景和新特性,不会影响产品的基本功能。在自动化时,要首先考虑产品的这类基本功能,以便用做“回归测试”和“冒烟测试”的基础。第30页,共43页,星期日,2025年,2月5日
有些类型的测试本身自动进行自动化。例如:压力、可靠性、可伸缩性和性能测试这些类型的测试要求在大量不同的计算机上以一定的持续时间运行测试用例,比如48小时等。让数百个用户天天使用产品简直就是不可能的,他们既不愿意承担重复性工作,也不可能找到那么多有所需技能的人群。属于这些类型测试的测试用例是自动化的第一候选者。回归测试是重复性的。这些测试用例在产品开发各个阶段要执行多次。由于这些测试用例具有重复性,因此自动化从长远看会显著节省时间和工作量。此外,正如本章已经提到过的,所节省的时间可以有效地用于即兴测试和其他更具创造性的测试。功能测试这类测试可能需要复杂的设置,因此可能需要当前还没有普遍具备的特殊技能。利用专家的技能一次性自动化这些测试用例,使技能不那么高的员工也可以马上运行这些测试用例。第31页,共43页,星期日,2025年,2月5日第1页,共43页,星期日,2025年,2月5日概况到目前为止我们已经讨论了多种测试类型和如何开发测试用例,但是这些测试用例的运行和检查会花费我们大量的时间和精力。随着测试的覆盖率和质量的提高,以及缺陷的不断改正,测试用例的运行还需要额外的时间。要想解决这个问题就是自动运行大部分需要反复运行的测试用例。通过开发软件和使用工具来进行软件测试叫做软件测试自动化(TestAutomation),也可以称为软件自动化测试(或自动测试)。本章我们将谈论软件测试自动化的几个主要问题。第2页,共43页,星期日,2025年,2月5日概况本章内容提要?自动测试与手工测试的比较?如何开展自动测试?自动测试方案的选择第3页,共43页,星期日,2025年,2月5日10.1手工测试与自动测试
手工测试和自动测试相对,是指不使用工具进行软件测试。在很多公司存在这两种测试方法,也有不少小公司只有手工测试。手工测试和自动测试孰好孰坏,是否自动测试就比手工测试优越?在回答这些问题之前,首先要对手工测试和自动测试有个清晰的认识,知道它们各自的优点和缺点。第4页,共43页,星期日,2025年,2月5日10.1.2自动测试是否比手工测试优越
在大多数软件开发模式中,软件发布之前都要多次重复编码—测试—修复的过程。如果要测试软件的某项特征,也许需要不止一次执行测试。重复测试的过程也称为回归测试。如果一个小型软件项目有上千测试用例要执行,还要重复执行,手工测试会非常单调和枯燥。而利用工具进行自动测试就可以把人从这种枯燥单调的重复性劳动中解放出来。第5页,共43页,星期日,2025年,2月5日●提高了测试执行速度,节省了时间。因此自动测试和手工测试比较起来有以下几个优点第6页,共43页,星期日,2025年,2月5日●提高了测试效率。手工测试存在效率问题,这在软件产品的研发后期尤其明显,因为随着产品的日趋完善,功能日渐增多,需要测试和检查的内容越来越多,很容易遗漏。加之产品发布日期日益临近,人工重复进行回归测试的难度加大,很难在短时间内完成大面积的测试覆盖。第7页,共43页,星期日,2025年,2月5日●提高了准确度和精确度。测试员尝试了几百个测试用例以后,注意力可能会分散,并开始犯错误。而测试工具可以重复执行同样的测试,并毫无差错地检查测试结果。第8页,共43页,星期日,2025年,2月5日●更好地利用资源。手工测试需要测试人员在场,而自动测试可以一天24小时、一周7天地随时执行。还可使位于全球不同地方、不同时区的团队监视和控制测试,提供全球时区的覆盖。第9页,共43页,星期日,2025年,2月5日●模拟测试条件。有的测试用例的测试条件需要的人数或设备数目很大,现实无法实现,测试工具可以模拟真实的情况。第10页,共43页,星期日,2025年,2月5日
如上所述,既然自动测试有如此多的优点,那么它是否比