共计 2755 个字符,预计需要花费 7 分钟才能阅读完成。
古代软件开发流程中,测试是不可短少的一环。传统的手动测试须要开发人员付出极大的工夫及精力,反复执行测试行为。为适应古代疾速变动的技术环境,您须要理解一下自动化测试。
浏览本文,您将理解到什么是自动化测试、它与手动测试的不同、施行自动化测试的策略、对于自动化测试的常见误会以及如何开始自动化测试。
龙智作为 DevSecOps 研发平安经营一体化解决方案供应商、SmartBear 中国受权合作伙伴,继续关注自动化测试畛域的动静与倒退,致力于将优良的测试工具引入中国,助力进步软件开发的测试效率与品质。立刻分割咱们,理解自动化测试工具的原型倡议与最佳实际。
软件行业的大多数人都晓得,手动测试和自动化测试之间存在着显著的差别。手动测试须要破费工夫和精力来确保软件代码能实现它们的指标。而且,手动测试人员必须记录他们的发现,以及查看日志文件、内部服务和数据库是否存在谬误。如果您相熟手动测试,就会晓得此过程可能十分耗时且周而复始。
手动测试和自动测试之间的基本区别非常显著。在手动测试中,一个人负责以用户的形式独自测试软件的性能。而自动化测试是通过自动化工具实现的,因而,您能够将更多工夫花在更高价值的工作上,例如探索性测试,同时您也能够自动化一些耗时的测试,例如回归测试。尽管的确须要花工夫保护测试脚本,然而,您的播种是减少了测试覆盖率和可扩展性。
手动测试的益处在于,如果自动化测试有脱漏的局部,能够通过手动排查找出。自动化测试则非常适合大型、须要重复测试雷同区域以及曾经通过初始手动测试过程的我的项目。
施行金字塔自动化测试策略
向麻利转型后,很多团队会采纳金字塔测试策略。自动化测试金字塔策略要求在三个不同级别上自动化测试。单元测试代表了这个自动化测试金字塔的根底,占最大的百分比。接下来是服务层(service layer)或 API 测试。最初,GUI 测试位于顶部。金字塔是这样的:
集成了 GUI 和 API 测试的解决方案,例如 TestComplete,能够使实现自动化测试金字塔的过程更容易,因为它确保了对 API 测试用例所做的更改会主动反映在 GUI 级别上。
谁会参加自动化测试?
在较短的麻利迭代中进行测试,通常须要应用“左移”办法。麻利开发过程中的这种左移意味着在应用程序生命周期的晚期开始测试。因而,这须要专业技能高超的开发人员对测试负责,他们将常常与测试人员一起工作,创立自动化测试框架。
在评估测试解决方案时,最重要的是领有一种工具,能满足测试过程中所有参加团队的需要,这些需要包含:
- 手动测试人员:记录和回放对于手动测试人员来说至关重要,尤其是那些不相熟自动化的人。在跨多个环境辨认和修复问题时,带有各种输出数据的同一记录脚本能派上用场。
- 自动化工程师:对于自动化工程师来说,对脚本语言的弱小反对、与 CI 零碎的集成以及轻松扩大测试的能力都很重要。
- 开发人员:在开发过程中施行测试,须要具备在 Eclipse 和 Visual Studio 等 IDE 中进行测试的能力。
对于自动化测试的常见误会
前文曾经介绍了自动化测试是如何工作的,以及会波及哪些人员。当初,来认真看看对于自动化测试的一些常见误会:
- 自动化会提供更多的闲暇工夫
有人认为自动化测试会给您带来更多的闲暇工夫,这个观点即是正确的,也是谬误的。在手动测试中,大部分的工夫都用于探索性和功能性测试,您须要手动搜寻谬误。一旦该过程实现,手动测试人员必须再次反复执行雷同的步骤。有了自动化测试,这方面破费的工夫就大大缩短了。相同,自动化测试人员的工作是对测试进行编码,并在须要调整时重复改良这些测试。然而,一旦测试实现,自动化测试就能循环应用测试,这样他们就不必重复了。所以,手动测试人员花在高重复性工作上的工夫,自动化测试人员花在了更大、更重要的问题上。 - 自动化测试的老本太高
起初,在自动化测试的投资看起来老本昂扬,尤其是如果您是一家较小的公司。但分析表明,随着工夫的推移,自动化测试可能发出老本。自动化测试让您能够专一于更大的问题,例如客户需要、性能和改良。自动化测试还缩小了老本和屡次批改代码的需要,因而随着工夫的推移,投资会失去回报。此外,每次批改源代码时,都能够反复的进行软件测试。手动反复这些测试既低廉又耗时,但自动化测试能够一遍又一遍地运行,无需额定老本。查看自动化测试投资回报率的另一种办法是并行测试。并行测试可能同时运行多个自动化测试,而不须要一个接一个地运行单个测试,这大大减少了您执行自动化测试所需的工夫。 - 自动化测试比手动测试更好
事实上,在自动化测试与手动测试的答辩中没有“更好”或“更差”,只有“不同”。每种办法都有其本身的优缺点。手动测试由人工通过 SQL 和日志剖析仔细检查应用程序、尝试各种用法和输出组合、将后果与预期行为进行比拟并记录后果来执行。自动化测试通常应用于初始软件开发实现后。手动测试通常会防止一些简短测试,自动化测试则能够让它们在无人照管的状况下,甚至是在不同配置的多台计算机上运行。
最初,手动和主动的测试都是有用的,特地是当您正在开发的软件太大、太简单,无奈仅仅依赖手动测试方法时。
- 自动化测试影响了人与人之间的互动
对于自动化测试的另一个常见误会是认为它影响了人与人之间的互动。诚实说,这种误会能够了解,因为在没有大规模人为谬误的状况下,自动化测试比人类做的更快更明确。也就是说,像 TestComplete 这样的产品是为了促成合作而设计的,它的性能中有一项是让共事编写测试代码中的某段并对脚本进行评论。
所以,这并不会取代软件开发中必要的面对面交换。相同,它通过提供另一个沟通渠道来加强了面对面交换。你能够这么想——电子邮件并没有取代电话,它只是一个可用于交换的附加工具。SmartBear 的 TestComplete 等工具也是如此——它们不是面对面交换的替代品,而是改善交换的一种形式。
开始自动化测试的旅程
建设一个胜利的自动化测试策略并不容易,并且办法会因团队而异。没有哪个团队与另一个团队是完全相同的。有些团队可能手动测试人员比自动化工程师更多,而有些团队可能曾经左移了,他们依赖开发人员来实现沉重的工作。估算、截止日期、应用程序类型和开发模型都是影响着自动化测试策略应该如何施行的因素。
应用 TestComplete 进行自动化测试
有了 TestComplete 这样的工具,从手动测试演变到自动测试不再艰难。通过让您查看您在生成测试代码或治理测试时的每一个操作,手动测试人员可能边学习边调整。在应用自动化测试工具和技术后,手动测试已被证实是一种无效的、对软件进行双重查看的办法,可用来帮忙确保十拿九稳。从这个意义上说,手动和自动化测试是齐头并进的,如果应用切当,就能确保最终产品趋近于完满。
文章起源:https://smartbear.com/learn/a…