2016 - 2025

感恩一路有你

软件测试最常用的软件工具 想学软件测试,大家推荐哪款工具?

浏览量:2243 时间:2023-05-07 11:01:35 作者:采采

想学软件测试,大家推荐哪款工具?

我知道你要学习什么样的软件测试工具,但是根据目前软件测试的发展趋势,HP 的自动化测试工具Loadrunn

软件测试工具都有哪些?

想知道学习软件测试必须知道的自动化工具有哪些?

持续集成服务

过去十年软件开发领域自动化最大的变化之一就是任务自动化。在过去,构建应用程序的特殊版本、创建文档或更新错误报告的状态都是人为的。有些团队甚至贡献了负责启动一个版本的创建者的责任。诸如此类的人工任务(或与个人或机器紧密相关的任务)非常耗时,并且是为了避免瓶颈而创建的,比如创建者占用了一天的私人时间,阻止了新版本的完成。

幸运的是,通过允许任务标准化和自动化,持续集成(CI)工具得以保存。持续集成服务对于安排和执行任务非常重要,这些任务是普通桌面计算机可以完成的,并且让这些任务在目标计算机上执行,而不是在目标计算机上执行。回到创建版本的示例,不是让Bob负责在他的机器上手动创建版本,而是可以集成持续集成服务来选择目标机器并在该机器上执行该版本。Bob不仅不需要亲自出现在那个版本机器上,而且他还可以在任何时候创建一个版本,无论是按计划还是响应另一个动作。

例如,测试人员Alice可能想要一个基于最新更改的应用程序版本,以查看程序错误是否已被修复,她可以自己启动版本创建。这不仅使资源能够自由地执行代表性的任务,而且给予团队在个人和团队过程之外更多的控制。还可以将持续集成任务绑定在一起,将一些任务交给更深层次的线程。学习持续集成如何工作是对自动化的一个很好的介绍,不需要太强调编程。

使用持续集成的一种是运行端到端的测试套件。这些测试通常需要运行几分钟甚至几小时。我使用持续集成来加速和减速测试机器,并在那些测试机器上启动测试。与在您自己的机器上运行这些测试相比,这是一个很大的帮助,因为它允许测试开发人员在测试运行时做其他工作。持续集成的服务器控制所有这些任务。方面。

持续集成服务的一些常见示例是开源工具Jenkins、基于云的Travis CI和专有工具Bamboo,但这些是其他的。更低级的技术是使用像克隆或windows任务分配器这样的工具在单台机器上自动执行任务。

CI独立于开发软件的爱好之外的编程,是测试真正能增值的地方。

现代源代码管理

我需要首先指出我热爱源代码。写代码的时候(或者博客!),它是一个非常有帮助的而不仅仅是一个工具。对于一个编码测试人员来说,就是一个无脑的人。即使测试没有编码,在测试软件时以现代使用源代码控制也可能是一个很大的好处。

我在现代方法中的意思是什么?我的意思是使用源代码控制来1)集成其他工具,例如CI服务器或问题,以及2)允许使用良好的团队过程习惯,例如基于主干的开发。良好的源代码控制允许个人分析变更并更深入地挖掘软件工程中正在发生的事情。

一个接近源代码历史和一些基本知识的测试可以询问应用程序中的哪些文件对它们进行了最多的开发工作?哪个文件变化最大?哪个更改的设置包含导致问题的代码?等等。这些信息有助于找到一些事件的触发节奏和暗示。

将源代码与CI集成会更加强大。问题追踪器中的事件可以在开发引起的变更中更新它们的状态。测试人员可以要求在输入代码中自动发现必要的需求,比如通过自动测试或者代码模式需求。可以通过更改代码来启动构建和部署。当源码控制用得好的时候,这种情况下有很多可能性,这是一个连续传输后隐含的概念。

例如,我在一个开源项目中工作,该项目使用基于云的集成服务来检查提交者提交的每个交付。在这个项目中,所有的自动化测试都被持续地集成和运行,并且所有为表单和格式添加的代码都被检查。如果一个提交导致了一个错误的测试,或者不符合设定的风格指南,那么这个提交就失败了,并且暗示着提交者和项目维护者将会修改这个提交。这有助于在项目历史中以统一的风格提供每个提交,并暗示提交者在添加或更新模块时可能会犯一些小错误。

源代码控制中的这些热点是Git,它是免费和开放的代码,并且围绕它有一个健壮的生态系统。这也是一些其他方面,比如Subversion,Mercurial,微软Team Foundation。

遥测和监控

这是一个我不太熟悉的话题,但肯定是测试人员感兴趣的。监控是一种方法,通过这种方法,钩子被放置在应用程序中,以将关于软件如何被使用的信息发回给软件创建者。这可能包括正在使用的后端/服务器应用程序。序列接口功能,以及在哪个指令中,由用户接口组成的部分使用和以什么频率使用,等等。

这个目标不是将特殊的用户信息发送回开发团队,而是关于应用程序正在被使用以及如何被使用的更一般的信息。这提供了最终用户正在做什么、他们实际上如何使用应用程序以及如何获得特定属性的视角。一个兰佩是微软的一个测试,曾经简单地讨论过这件事,他通过遥测和监控做了一部分。

类似于最小化资源控制的历史,监控可以帮助你从简单的问题中找到答案(上周记录了多少人?)到更具体、更直观的问题(feature X发布后,用户如何改变习惯?)。这些问题有助于测试人员实施更好的测试策略,并且通常有助于团队为用户做出更好的选择。

更多信息请查看AB测试播客页面和布伦特詹森一款主流产品如何使用遥测技术?让 让我们看看Mozillla是如何通过Firefox使用监控技术的。

也使用硒。

最后,对于使用web应用程序和类似应用程序的测试人员来说,Selenium web Driver是一个很好的工具。在这一点上,WebDriver是自动驱动浏览器行为的标准工具,类似于人类用户在浏览器中与网站应用程序的交互。它有一些语言绑定,可以与一些主流浏览器一起工作,并且是一个可以作为第一个组件开发的可扩展API的非常好的例子。简而言之,这是一份出色的工作。

当灵活使用时,WebDriver允许测试和开发自动化用户体验测试,这可以放入一个连续的可交付过程中。我编写了一个简单的web驱动的测试,它可以找到像导航到登录页面这样的事务,而不是寻找用户名和密码(由于糟糕的部署),或者寻找一个不包含用户名和密码的对话。;当一个控件被点击到imagination中时无法打开(一个明显但严重的问题)。这些东西很快就能找到,但是单元测试无法覆盖。

WebDriver还可以用来编写自动化测试,这些测试可以在本地执行,以仔细检查不会以未计划的中断重要功能的更改。这些甚至是WebDriver用于扩展功能测试的用途。

对于对学习代码感兴趣的测试,WebDriver可以提供很好的学习代码的入门。自动化测试脚本可能是熟悉编程的一种简单方法,而不是深入挖掘代码语言的空白。它提供了足够的架构来开始,并且仍然能够做一些好的测试。

大脑有这些概念,加强测试的自动化,不管你在软件开发中的角色是什么。

测试 代码 任务 应用程序 工具

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。