在软件行业,您可能经常会听到术语 “代码审查”。但是,代码审查的概念经常被误解。人们通常认为它在软件开发生命周期中被忽视执行测试应足以满足验证过程。因此,他们倾向于对代码审查过程视而不见。但是,忽略代码审查过程可能会反弹并产生重大后果。我们也有一个误解,认为代码审查过程是开发团队的责任。它不是!代码审查是一个过程,不仅应包括开发人员,还应包括质量保证人员和产品经理。本文是我的尝试,旨在帮助您意识到代码审查的重要性以及您应该如何参加质量检查。

什么是代码审查及其目标?

代码审查是一种将源代码分解成小段的做法,由团队的主管或前辈检查这些源代码,然后在测试之前进行检查。这是敏捷方法中主要遵循的一个过程。

代码审查的主要目的是发现错误,及时发现错误并确保代码遵循标准做法。可以将其称为双向交流,在这种情况下,编码人员和检查代码的人员都可以互相学习,并消除可能会影响产品的任何潜在错误。

在敏捷环境中工作,您可能经常低估了代码审查过程的重要性。您可能会认为代码审查会很耗时,尤其是在期限紧迫的情况下。但是,这变得越来越重要。您越早检查代码并消除任何阻塞或错误的可能性,以后就可以按照发布过程越早交付产品。在发布周期的后期发现错误或在将其移植到生产中后,发现它们更昂贵,更耗时。这就是为什么组织现在沿用 Shift-Left 测试的现代方法,将您从客户需求收集阶段开始的测试纳入其中的原因。

为什么需要进行代码审查?

如果您认为只要进行测试就不需要进行代码审查,那么以下提到的好处可能会使您的想法转向不同的想法。

代码审查和测试可以互相替代吗?

对于初学者来说,代码复查和测试都是包含在软件开发生命周期中的最佳实践。但是,两者在其各自的方式上都是独特的,不能混淆。认为您不需要代码审查是错误的,因为您已经在 SDLC 中进行了测试,反之亦然。

代码审查涉及检查代码,该检查可能包括也可能不包括检查错误。它涉及检查代码风格是否符合所有策略,是否存在违反安全性的问题,最重要的是,是否易于理解代码。目的是检查代码是否简单,是否遵循所有策略和标准,最重要的是,是否达到目的。

另一方面,测试具有几个类别。测试的主要目的不是检查代码,而是检查应用程序是否正常运行。测试包括检测应用程序不同层中是否存在任何错误,应用程序是否满足涉众的所有要求并确保将检测到的问题传达给相关团队。

假设地,代码审查可以代替测试。在很小的应用程序中,如果有多个审阅者仔细地检查代码,他们可能会确定执行单元测试时可能引起缺陷的部分。仅假设,不现实。

手动或自动化测试通常采用固定方法来检查应用程序流,并确定是否有任何异常的行为。

但是,代码审查需要人工干预。人类的大脑很复杂,可能会想到编写测试脚本时可能尚未预编程的方案。有经验的代码审查员可以在编写有效测试用例的过程中,在测试人员可能没有想到的特定情况下,检测出可能导致破坏的任何错误代码行。

但是,仅当应用程序非常小且可能仅包含一百行代码时,代码审查才能代替测试。在大型应用程序的情况下,范围会变大,无论有多少审阅者一起检查代码,集成代码时,应用程序都可能会造成损坏。这就是测试起作用的地方。

但是,测试不能以假设或现实的方式代替代码审查。尽管测试可以检测到所有错误并由开发人员修复它们,但让我们讨论一个方案,该方案将清楚说明为什么它不能代替代码审查。

我将分享我的个人经验。我们的团队正在开发大型动态 Web 应用程序。经过最后的测试阶段,整个应用程序可以满足每个用户的需求。但是,存在一个问题–加载时间。即使以最快的网络连接速度,该应用程序也需要 4-5 秒钟来加载。通过代码审查阶段,我们发现 CSS 和脚本非常复杂,可以将它们最小化几百行。这样做,我们将加载时间减少到 2 秒。因此,可以得出结论,实际上,代码审查和测试都是软件开发阶段不可或缺的一部分,并且永远不可能完全替代。

如何作为 QA 参加代码审查?

代码审查被认为是静态测试的一部分,该活动通常由质量分析人员执行,以在测试阶段开始之前发现是否可以较早发现任何错误。如果测试团队积极参与代码审查,则可以节省大量时间。

您可能想知道当您不参加测试时如何开始进行代码审查,而没有任何开发经验。但是事实是,代码审查只需要您的观察技能,而不需要您的编码能力。对于初学者,您可以从自动化脚本开始。尝试查找可能导致错误测试顺序的小错误。每当有时间时,请并行浏览应用程序的存储库,并尝试了解开发人员在该处所做的事情。

另外,如果您团队中的某人正在检查代码,请与他们讨论或坐在一起,并尝试了解他们的工作方式。检查他们是否在看

此外,一旦开发团队发现 QA 团队正在关注代码,他们将很乐意向他们解释代码的工作原理,从而提高质量分析人员的编程知识,并改善团队之间的沟通。通过代码审查的实践,测试人员将知道在代码的哪个部分中定义了项目的哪些功能,从而提高了整体智慧和团队合作精神。

最后,记住一件事。您无需成为执行代码审查会议的专家编码人员。具有基本编码知识的任何人都可以查看代码。您只需要查看更改并询问做什么,为什么以及如何完成某件事。从较小的更改开始,并详细了解它们以及任何有任何差异的地方,对其进行评论,并请编码人员清除您的疑问。并且,如果您要管理整个项目,请确保将代码审查和测试作为必不可少的阶段包括在任何软件开发生命周期中都要执行。这将确保交付高质量的产品,并保持组织的声誉。

执行代码审查的方法

让我们开始阅读代码。根据您的应用程序的大小,您可以执行两种类型的代码审查。

Selenium 自动化测试的代码审查清单

尽管有一些最佳实践,我们将在后面进行讨论,但这将导致无缺陷的代码审查,但是,如果您正在使用 Selenium WebDriver 进行自动化测试以对网站进行跨浏览器测试,则在审查代码时需要检查某些因素。

代码审查–遵循的最佳做法

就像编码和测试一样,您还需要牢记一些代码审查最佳实践。让我们详细讨论它们。

我希望您现在意识到 SDLC 中代码审查的重要性,以及它与测试的区别。如果您是产品经理,那么对于您而言,至关重要的是将代码检查过程纳入发布周期,以防万一,您可以将其纳入其中。如果将其合并,则需要有效地组织带宽和资源,并确保开发人员和测试人员都积极参与。如果您是一个 QA,但是害怕介入代码审查,那么您就需要改变看法,直接进入。最后,如果您是开发人员,则必须确保引入产品经理和软件测试人员。代码审查过程,以确保透明的透明度。审核愉快!

技术类文章精选

非技术文章精选


↙↙↙阅读原文可查看相关链接,并与作者交流