发布于:2021-02-01 15:05:20
0
113
0
尽管软件测试人员通过获得报酬来打破关于“完美软件”的神话,但看起来他们自己也在一些软件测试神话中生活了很长一段时间。
对于大多数开发人员和测试人员来说,一些关于软件测试的神话来自学生生活本身,主要是因为软件测试没有像软件开发那样被全面地教授。第二个原因可能是软件开发的魅力。
软件测试,尤其是自动化测试,正以前所未有的速度增长。不可避免地,随着全球软件产量的增加,从事测试行业也变得越来越有利可图。
预计复合年增长率(CAGR)将超过6%,2026年软件测试行业将达到600亿美元。随着行业吸引了越来越多的领域人才,在敏捷开发实践之后对质量保证的需求正在模糊开发人员和测试人员之间的界限。
重叠的工作和新的工具和技术正在挑战软件构建的标准化实践(比如,开发人员只开发,测试人员只测试)。
对于开发人员和测试人员来说,现在正是破除一些主要神话、忘却它们并以前所未有的速度增长的时候。在这篇文章中,我将与您分享您需要停止相信的七个软件测试神话,以便您可以充分发挥您的潜力。
软件测试就是随机点击
如果“随机点击”是测试,那么我侄子是我见过的最好的软件测试人员。(尽管我觉得测试人员应该在部署软件之前至少做一次“挫折测试”)
测试是一个经过充分研究、充分记录、预定义的过程,用于确保软件产品的质量。它包括各种测试工具和技术,需要对产品和业务目标有深入的了解。这就是为什么没有人使用任何软件的beta版本来完成任务关键型工作。
你需要把一切都自动化
每个新手测试人员都想自动化测试。尤其是如果你没有手工测试的背景,你一定会陷入自动化的陷阱,因为每个人都在谈论自动化,事实上,自动化测试提供了更好的职业机会,但是等待。
永远记住:100%自动化是一个神话。
我们不能把一切都自动化。一个最终产品有许多编码单元,如果软件很小,它们需要在成百上千种情况下协同工作。为所有人自动化测试是一项不必要且耗时的任务。有些单元是动态的,有些可能无法进入最终产品,如果您的测试依赖于这些单元,则需要经常修改测试套件。
即使我们可以,我们也不应该把一切都自动化。最终,人类将使用软件;因此,它需要由人类检查。自动化将能够获得测试用例的所有排列和组合。但是,可用性和用户体验等质量参数是通过人机交互获取的,而手动测试正是如此。
可用性专家Jakob Nielsen曾经说过:“最好的结果来自于测试不超过5个用户,并且尽可能多地运行小测试。”
经验丰富的测试人员的直觉比自动化过程更有价值。一个好的软件测试人员有敏锐的眼光来发现测试用例和指导团队,以尽可能快地向客户提供最佳质量。
只有软件测试人员才对产品质量负责
在瀑布式开发方法的时代,团队的角色得到了明确的定义。所以,不要相信这个神话。在当今敏捷开发和CI/CD管道时代,测试人员的工作不仅仅局限于质量保证团队。
作为一名开发人员/设计师,您知道代码中所有隐藏的宝藏和陷阱,在将其传递给QA团队之前必须对其进行测试。参加基本的响应式网页设计测试。web开发人员很容易做到这一点。
事实上,作为一个开发人员,您必须将有关代码和产品中所有可疑区域的信息传递给测试团队,您认为这些信息可能会引起关注。这种信息交换将提高产品的质量,并大大缩短部署时间。
在2020年,我面临着对这些小型通信的需求,因为远程工作场景导致输出速度变慢,而内部通信也因为同样的原因变得不顺畅。开发人员简单的做旁注的做法帮助我们实现了15%的整体交付速度,这甚至比在没有电晕的世界里干草的日子还要快。 测试人员只能测试完全开发的产品 找到一个成品是最大的软件测试神话之一,因为即使是最好的软件也会有一个bug尚未被发现。苹果为消费者发布了一款最稳定的软件,他们仍在修复bug。为什么?因为任何最终产品都是由多个单元组成的,一个好的测试工程师会抓住这个机会来测试这些早期开发的单元。 通过这样做,您将有助于缩短部署时间,但更重要的是,您将在测试和开发团队之间更好地沟通未成文的期望。开发商对最终产品的预期越来越清晰。更好的图片不仅能解决问题,而且能确保惊喜最小化。 测试人员不需要技术技能 最初,软件测试仅限于通过使用软件来检查各种功能。这并不需要有很多的技术技能。但是随着复杂软件的出现,测试变得越来越复杂。 现在,一个没有技术技能的测试人员就像一个拿着钝刀的士兵。你可以完成这项工作,但在软件测试的职业生涯中你永远也达不到很高的水平。一个相关的误解是,拥有编码知识的测试人员可以自动化测试。是的,他们可以,但不仅仅限于自动化。 测试人员是IT公司声誉的最后一道防线,对工具、编码和产品体系结构的良好了解将有助于构建更好的产品。我记得我的一个伙伴在最后一个产品发布前一个小时就解决了一段极其关键的代码。她之所以能够做到这一点,是因为她对产品及其相关编码了如指掌。 QA工程师是一个软件开发人员,只是不够资格 QA工程是软件测试中的一个完全不同的技术领域,它需要了解各种框架,如selenium、appium、ranorex等,以及编码语言。 事实上,自动化测试和API测试需要一个非常熟练的程序员来完善它。有不同的测试领域的工具,如测试管理工具,自动化测试工具,跨浏览器测试工具,负载测试工具等。测试工程师需要一个鹰眼的软件视图,而开发人员可以局限于他们的一段代码。测试人员是高质量产品的中间人。 软件测试很无聊 软件测试一点也不无聊,尽管你的里程数可能会有所不同,因为它完全取决于测试人员。 探索性测试(explorative testing)也就是说,通过以所有可能的方式测试软件来寻找新的bug,而不管预期的使用方式是什么,这是测试人员可以开发的基本实践。如果你把自己限制在一个给定的模板上,按照交给你的复选框去做,那么测试只不过是一个考勤表,你肯定会对一遍又一遍地检查同一件事感到厌烦和漫无目的。 好奇心是软件测试人员的基本素质。测试人员的好奇心是第一位的,其他一切都是第二位的。任何人都可以用说明书模板检查软件。一个好的测试人员应该发现新的测试用例和bug。开发新的测试用例不亚于寻宝。我们都知道寻宝是多么令人兴奋。 停止相信,开始测试 我们都知道软件测试对于每个企业来说都是必不可少的,因为即使是很小的错误也可能是致命的。所以,如果你想避免这些错误,你需要一个清晰的愿景和详细的策略。 我明白有时很难改变我们长期以来的工作方式。但要比以往更快地开发出好的软件,并在测试领域建立良好的职业生涯,必须适应这些现实。 从一个错误或你所相信的神话开始,并看到改变。在与数十个团队合作之后,我可以说“软件和构建它的团队一样好”,而软件测试人员是该团队的最后一道防线。
作者介绍