总览
开源工具彻底改变了软件测试行业。任何在 Web /移动应用程序上工作的测试人员至少都对Selenium,Appium或基于它们的工具进行了研究(如果没有尝试和采用)。而且,任何测试工具供应商都意识到,它必须解决(并试图超越)这些免费且受人尊敬的工具的价值,以便在当今竞争激烈的市场中赢得任何关注。 但是,尚不清楚开源工具如何影响测试。在本文中,Tricentis的创始人兼首席战略官Wolfgang Platz探索了该公司对开源测试状态的研究发现。
探索开源软件测试的状态
开源工具彻底改变了软件测试行业。任何在Web或移动应用程序上工作的测试人员至少都对Selenium,Appium或基于它们的工具进行了研究(如果没有尝试和采用)。而且,任何测试工具供应商都认识到,为了在当今竞争激烈的市场中获得任何吸引力,它必须解决(并试图超越)这些免费且受人尊敬的工具的价值。但是,尚不清楚开源工具如何影响测试。开源测试工具在许多不同的地区,许多不同的角色中都被用于许多不同的目的。
最近发布的“开放源代码测试状态”报告 – Tricentis , TestProject , SpecFlow 和 Flood 之间的协作 –旨在捕获全球软件测试行业现状的全球快照,并跟踪开源测试趋势在未来几年内将如何演变。这是今年同类调查中规模最大的一次,它探讨了选择开放源代码测试而不是商业产品是否存在任何普遍优势或挑战,以及在更全面地了解跨功能的开放源代码测试时出现的细微差别。测试与负载测试和BDD。而且,尽管某些调查结果强调了预期,但也有一些令人惊讶的统计数据改变了对测试中甚至在总体上对软件测试领域的开源工具采用的普遍理解。
技能与支持
毫不意外的是,对技术技能的需求和缺乏产品支持被视为采用开放源代码测试的主要挑战,几乎占总选票的45%。这与我们在该领域中看到的情况相对应,因为采用开放源代码工具既需要熟练的资源,也需要坚定的决心使其能够正常工作。确实,那些希望部署和扩展开源测试框架会很简单的人通常会感到失望。开源测试自动化为Web和移动技术提供了强大的支持,但是当必须解决众多集成需求时(例如在复杂的企业应用程序中),要实现端到端的过程覆盖并不容易。
鉴于对技术技能的需求,可以合理地期望SDET(测试中的软件开发工程师)甚至开发人员成为开源测试工具的主要用户。但是,事实并非如此。实际上,只有8%的受访者是开发人员。由于有84%的时间由独特的质量检查功能执行功能测试,因此测试仍然不是开发人员关注的领域也许就不足为奇了。就是说,尽管许多人都预测敏捷开发和DevOps将意味着测试的结束,但是它作为一门学科的侵蚀似乎并没有发生。
成本压力
通常,时间是功能测试的第一大障碍。但是,选择开源工具的主要动机是成本,以及所承诺的灵活性,即完全由您控制的代码可以促进集成和定制。当然,最近由于COVID-19危机而加剧了测试人员的成本压力,对免费社区解决方案TestProject的需求激增,突显了在使用工具时它已成为重要考虑因素的程度。
因此,毫不奇怪,选择了开源测试工具,并投入了对其进行自定义并将其集成到流程中的测试,测试人员将严重依赖该工具– 92%的受访者表示,他们认为自己选择的工具是重要或非常重要。大多数人将其开源工具用作连续测试过程的一部分,其中75%的人经常运行其功能测试自动化或作为CI / CT / CD工具链的一部分。
BDD
总的来说,大多数受访者表示,他们发现使用各种形式的示例(例如逐个说明)来指定应用程序行为很有用。该报告显示,当时还不存在唯一的标准,即席即用(GWT)越来越受欢迎。黄瓜和SpecFlow被发现是BDD工具领域的主导者,占它们之间响应的94%。发现工具的选择与所使用的编程语言高度相关,Java商店选择Cucumber,而.NET用户选择SpecFlow。
令人鼓舞的是,虽然许多受访者才刚刚开始其BDD之旅,但有79%的人声称自己并不精通,但其中一半(49%)的开发效率已经大大提高。尽管如此,扩展BDD仍然是一个巨大的问题–当您进入成千上万的测试区域时,维护可能会变得棘手。因此,要在企业范围内启用BDD,还需要做更多的工作。
负载和性能测试
令人惊讶的是,调查还发现,质量检查和测试人员涵盖了负载测试的最大部分(47%),很少有受访者报告称负载和性能测试是由专门的性能工程师进行的。而且,尽管超过一半(56%)的受访者经常运行测试负载,但它不属于CI / CT / CD工具链的一部分。换句话说,持续的负载测试尚未成为现实。最后,对开源负载测试最大挑战这一问题的许多回答都涉及结果的解释,希望随着时间的推移,这一问题将通过应用AI得以改善。
当然,这些发现只是冰山一角。毫无疑问,开源测试工具彻底改变了测试执行方式。通过社区协作和透明度,可以快速开发工具,并始终与客户需求保持一致。此外,主要项目(例如Selenium和Appium)已经成为一种全球标准,可以使最佳的免费或商用工具互操作。随着其开发和后续采用的发展,新的利益和挑战将继续出现。明年的报告可能会带来很大的不同。