发布于 2026-01-05 3 阅读
0

开发者测试指南 - 如何避免周五下午 5 点出现 bug

开发者测试指南 - 如何避免周五下午 5 点出现 bug

测试是所有从事技术工作的人员日常工作中不可或缺的一部分,但对于一些开发人员来说,当他们听到“QA正在进行测试”这句话时,他们就知道很可能在周五下午5点会收到一条消息,要求他们修复一个QA没能找到的bug。我写这篇文章的目的就是为了帮助你避免这种情况,或者至少减少这种情况的发生。

概括

我们为什么要进行测试?

我们已经知道测试很重要,但是,为什么在软件开发过程中测试如此重要?为什么我的团队需要专门的测试人员(QA、测试员)来做测试?要理解这一点,我们需要回顾一下用户故事。

图片梗

工业革命之后,确切地说是 1914 年,我们亲爱的朋友亨利·福特创立了著名的福特主义。

福特主义是20世纪经济发展的一个特定阶段。福特主义一词被广泛用来描述20世纪初由福特汽车公司开创的大规模生产体系。

公司开始大规模生产各种产品,随之而来的是制造过程中质量下降的担忧。
因此,公司开始重视生产流程中的“测试”环节。
随着时间的推移,技术不断发展,如今,如果一个按钮操作失误,公司可能会损失数十亿美元。
所以,软件在正式发布给用户之前进行快速测试至关重要。

我需要测试什么?

一切。没错,一切。但是,我们知道在开发过程中这是不可能的。
思考需要测试哪些内容的简单方法是:

我的软件要实现最重要的功能是什么?

读完之后,你可能已经知道哪些方法适用于你的软件了,很好。但仅此而已吗?你可能会想:“我已经这么做了,但bug还是层出不穷。”

我们来看一个Web应用程序的例子:
假设你有一个网站,用户可以在上面执行以下三个操作:

  • 登录
  • 登入
  • 登出

好的,根据上面的问题,我们知道了主要功能:

  • 用户应该能够登录、注册和注销。

有时,在与其他质量保证人员合作时,我们会说我们需要设身处地地想一想用户是一个五岁的孩子,手里拿着键盘或手机,正在使用我的应用程序。
是的,我们知道这种情况不太可能发生,但通过这种思维方式,我们可以开始考虑其他场景。
我们需要审视我们的应用程序,并开始提出不同的问题,例如,如果发生以下情况,我的应用程序会发生什么:

  • 用户登录时输入了错误的字符,系统应该如何响应用户提示输入错误?
  • 用户输入了错误的密码?
  • 用户多次点击这些按钮

当我们采用“儿童策略”(是的,我们会使用这个术语)时,我们开始思考的不仅是“我需要如何编写代码”,而是“我如何编写代码才能让用户在使用我的软件时获得良好的体验?”

开发过程中如何进行测试

既然我们已经了解了测试的重要性以及如何开始测试,接下来就可以思考开发人员如何在开发过程中进行测试了。
在之前的例子中,我们讨论的是一个简单的项目,但在实际应用中,软件的功能非常丰富,你的待办事项清单里可能也有很多任务。因此,这里有一些技巧可以帮助你轻松地将测试付诸实践:

  • 索取示例:收到任何任务后,都要索取测试示例。不要只关注基础知识,要询问不同的测试场景、可能的响应以及这些响应是否可行。我建议了解一下行为驱动开发 (BDD) 方法论,这样你就可以使用 Gherkin 语言来跟踪这些场景。

以下是如何使用 BDD 和 Gherkin 的示例:

Feature: Make login

  Scenario: Make login with success
    Given I want to make a login
    When I input a valid user and password
    Then I'm redirected to the home page

  Scenario: Make login with an invalid user
    Given I want to make a login
    When I input an invalid user with a valid password
    Then I receive the message 'wrong user'

Enter fullscreen mode Exit fullscreen mode
  • 使用测试驱动开发 (TDD) 来编写代码:这是敏捷开发实践的核心,它包括先创建测试(单元测试),编写代码使测试通过,然后重构代码。这种实践有助于团队更好地设计代码。

TDD图像

  • API 和用户界面自动化测试:自动化测试是确保一切按预期运行的强大策略。在进行功能自动化时,请记住遵循最佳实践,并思考此测试是否对团队有用,以及是否能够快速获得结果。创建自动化测试时,您可以参考测试金字塔模型。
  • 探索性测试:基本上就是以用户的身份浏览应用程序。这是一个很好的练习,可以帮助你了解软件的工作原理、可以改进的地方以及存在的问题。

但最重要的是要问!在软件开发中,没有哪个问题显得愚蠢。

本文基于《敏捷测试:测试人员和敏捷团队实用指南》一书以及我作为质量保证人员的经验总结。希望本文内容对您有所帮助,如有任何疑问,欢迎随时联系我!

亲亲,下次见💅🏼

文章来源:https://dev.to/m4rri4nne/tests-for-developers-how-you-can-avoid-bugs-at-5pm-on-friday-41og