为什么开发人员是差的测试人员,以及可以做些什么

目录

翻译内容

Reason #1: Parental feelings towards their code 理由#1:父母般对他们的代码

Reason #2: Developers simplify complex problems 理由2:开发人员简化了复杂问题

Reason #3: Focusing on the “positive scenario” 理由3:关注“积极情景”

Reason #4: Missing the small things in the big picture 理由#4:错过了大局中的小事

Reason #5: Lack of End-to-End knowledge and real-user perspective 理由5:缺乏端到端知识和真实用户视角

How can you become better at testing? 你如何才能更好地进行测试?

Stop seeing testing as a reprimand 停止将测试视为谴责

Understand your limitations and weaknesses as a developer 了解您作为开发人员的局限性和弱点

Plan your testing according to your constraints 根据您的约束计划您的测试

If it’s your code then you need to care 如果这是你的代码,那么你需要关心

关于作者

原链接


翻译内容

“Most developers I know are actually pretty bad testers.”

“我认识的大多数开发人员都是非常糟糕的测试人员。”

This was the feedback from one tester, in a recent short survey. The survey also verified that more developers are taking part in testing tasks, as reported in 37% of the organizations.

在最近的一项简短调查中,这是一位测试人员的反馈。 该调查还证实,正如37%的组织所报告的那样,更多的开发人员正在参与测试任务。

The survey included testers from organizations worldwide and was focused on testing efforts in their organizations. With the growing rates of agile methodologies, this is of no surprise.

该调查包括来自全球组织的测试人员,并专注于其组织中的测试工作。 随着敏捷方法的发展,这一点并不令人意外。

In many cases, the testers tend to be unhappy with the results of developer’s testing. There are various reason to why developers don’t have a “natural ability” to excel at testing.

在许多情况下,测试人员往往对开发人员的测试结果不满意。 有很多理由说明为什么开发人员没有“天生的能力”来进行测试。

If you do have the skills but you just aren't seeing the success you deserve in your career, then do check out our Simple Programmer course “How to Market Yourself as a Software Developer”.

如果你确实掌握了这些技能,但是你没有看到你在职业生涯中应得的成功,那么请查看我们的简单程序员课程“如何推销自己作为软件开发人员”。

Reason #1: Parental feelings towards their code 理由#1:父母般对他们的代码

The Ugly Kid quiz: When standing in a room full of people, go ahead and ask, “Who has an ugly kid?”

丑陋的孩子测验:当站在一个满是人的房间里时,请继续问:“谁有一个丑陋的孩子?”

Ninety-nine percent of the time, no hands will be raised.

百分之九十九的时间,没人举手。

Now, go ahead and ask, ”Who has a friend whose kids are ugly?”

现在,请继续问:“谁的朋友有一个难看的孩子?”

I can assure you that the numbers are much, much higher.

我可以向你保证,这些数字要高得多。

A similar “blind spot” phenomenon happens when asking developers about their own written code. We tend to be oblivious to flaws in our own creation and not been able to see the cases where one characteristic is not on the top level, even though we are able to correctly identify it when it comes to other people’s jobs/children.

当向开发人员询问他们自己的书面代码时,会发生类似的“盲点”现象。 我们倾向于忘记自己创作中的缺陷,并且无法看到一个特征不在顶层的情况,即使我们能够在涉及其他人的工作/孩子时正确识别它。

Reason #2: Developers simplify complex problems 理由2:开发人员简化了复杂问题

Developers are focused on taking complex problems in user stories or requirements and transforming them into small and actionable tasks that are then translated into simple lines of code. One such example is the creation of a button that will allow users to sign up for a trial, turning it into code lines that will then allow the button to become clickable.

开发人员专注于解决用户故事或需求中的复杂问题,并将其转换为小而可操作的任务,然后将这些任务转换为简单的代码行。 其中一个例子是创建一个按钮,允许用户注册试用版,将其转换为代码行,然后允许按钮变为可点击。

Testing is the complete opposite. A tester’s task is to take simple features and think about the complex scenarios that will bring them down with bugs!

测试完全相反。 测试人员的任务是根据简单的功能,并考虑将导致缺陷的复杂场景!

Reason #3: Focusing on the “positive scenario” 理由3:关注“积极情景”

Again, developers are thinking on how to make things happen, how to achieve the result they want to create with the code. It’s all about taking an abstract idea, writing code, and transforming it into a compilable program that can perform desired actions. When testing, we need to identify how to break things down and try to find these places when things will not work as smoothly as planned.

同样,开发人员正在考虑如何使事情发生,如何用代码实现他们想要的结果。 这是关于采取抽象的想法,编写代码,并将其转换为可执行所需操作的可编译程序。 在测试时,我们需要确定如何打破问题,并在事情无法按计划顺利运行时,尝试找到这些地方。

An important part of a tester's’ job is to find the weak spots of the system and in it the breakable locations so they can be fixed. Most developers are concerned with solving problems, not creating them, which in turn makes it difficult for them to get into the tester’s mindset of destroying instead of building.

测试人员工作的一个重要部分是找到系统的弱点,并在其中找到可破坏的位置,以便修复它们。 大多数开发人员都关心解决问题,而不是创建问题,反过来,又使他们难以进入测试人员的破坏而不是构建的思维模式。

Reason #4: Missing the small things in the big picture 理由#4:错过了大局中的小事

mistake1

mistake2

These quizzes ask participants to find the mistake that is hidden. 这些测验要求参与者找到隐藏的错误。

Let’s take a quick jump to your Facebook feed, where you have probably seen this quiz or similar ones. They often claim to be indicators of various levels of intelligence or genius.

让我们快速跳转到您的Facebook Feed,您可能已经看过这个测验或类似的测验。 他们经常声称自己是各种智力或天才的指标。

Of course, they are really just about patterns and strings. 当然,它们实际上只是模式和字符串。

Testers are naturally inclined to find the things that break the pattern. Coders are naturally inclined to find or create the pattern.

测试人员自然倾向于找到破坏模式的东西。 编码器自然倾向于找到或创建模式。

(*Results will appear at the end of this post.) (*结果将显示在本文末尾。)

Reason #5: Lack of End-to-End knowledge and real-user perspective 理由5:缺乏端到端知识和真实用户视角

Most organizations do not spend time and effort in order to make developers understand the users of their products. Costly developers are sent to do exactly what they were hired for, which is writing code and developing new products, and the task of understanding customers’ user stories is left for Product Managers.

大多数组织不会花费时间和精力来让开发人员了解其产品的用户。 成本高昂的开发人员被派去完成他们所聘用的工作,即编写代码和开发新产品,理解客户用户故事的任务留给产品经理。

It’s no wonder then why many times developers cannot come up with the ways by which their users will work with the system. Therefore, they won’t take the time to predict all the potential problems users will run into while using said system or products.

难怪为什么很多时候开发人员无法想出用户使用系统的方式。 因此,他们不会花时间预测用户在使用所述系统或产品时会遇到的所有潜在问题。

Guess the writing was on the wall all along… 

How can you become better at testing? 你如何才能更好地进行测试?

It is clear that developers are not by default “excellent testers,” so what can be done in order to increase our chances of finding the bugs in the system before we release them to the field? You’d be surprised, but there is quite a lot that can be achieved.

很明显,开发人员默认情况下并不是“优秀的测试人员”,那么在我们将它们发布到现场之前,为了增加在系统中发现缺陷的机会,可以做些什么呢? 你会感到惊讶,但可以实现很多。

Stop seeing testing as a reprimand 停止将测试视为谴责

A good, agile team requires both developers and testers to test. With this in mind, the first step towards becoming better at testing is to stop resenting the fact that you are testing. Testing is not a dirty job, and as can be understood from all the previous points, it is not an easy job either.

一个优秀,敏捷的团队需要开发人员和测试人员进行测试。 考虑到这一点,迈向更好地进行测试的第一步是不要反感您正在进行的测试。 测试不是一项体力工作,从前面的所有要点可以理解,它也不是一件容易的事。

If you want to be good at testing, then start by taking this job as seriously as any other job you do in your daily work, and make sure to set enough time aside for testing.

如果你想要擅长测试,那么就像你在日常工作中做的那样认真对待这份工作,并确保留出足够的时间进行测试。

Understand your limitations and weaknesses as a developer 了解您作为开发人员的局限性和弱点

Awareness of your own “blind spots” is a prerequisite for improvement. Knowing your strengths and weaknesses will help you to perform your job better. If there are things you need to learn, go and learn it. If you need to ask others how to do something, go ahead and do it. There is no shame in consulting with others and asking for their help.

意识到自己的“盲点”是改进的先决条件。 了解自己的优点和缺点将有助于您更好地完成工作。 如果你有需要学习的东西,去学习它。 如果你需要问别人如何做某事,那就去做吧。 与他人协商并寻求他们的帮助并不是羞耻。

Plan your testing according to your constraints 根据您的约束计划您的测试

Testing requires planning to make sure you are working correctly and on the right aspects of your product. Here are some examples of the things you can do in order to plan your testing better:

测试需要计划,以确保您正确地工作并且在产品的正确方面。 以下是您可以采取的一些示例,以便更好地规划测试:

  • Don’t test your own code: following up on the Ugly Kid quiz I have previously mentioned, do your best to test features developed by other programmers, and ask others to test the things you’ve written. 不要测试你自己的代码:跟进我之前提到的Ugly Kid测验,尽力测试其他程序员开发的功能,并要求其他人测试你写的东西。
  • Before you begin with testing, THINK! Think about both the positive and the negative scenarios, think about how your users work with the system (and how they abuse it!), analyze the product you are about to test, and look for the weak spots. 在开始测试之前,请注意! 考虑正面和负面情景,考虑用户如何使用系统(以及他们如何滥用它!),分析您即将测试的产品,并寻找弱点。
  • Work with checklists and heuristics. Make sure to write down what you want to test before you start testing to ensure you won’t miss anything important once you get down to business. 使用清单和启发式方法。 在开始测试之前,请务必记下您要测试的内容,以确保在开始业务后不会遗漏任何重要内容。

Software Testing

If it’s your code then you need to care 如果这是你的代码,那么你需要关心

Even if testing tasks are not listed as a part of your dream programming job, the reality is they are here to stay.

即使测试任务没有被列为您梦寐以求的编程工作的一部分,但实际情况是它们仍然存在。

Whether it’s feeling overprotective of your code, lacking user knowledge, or some other cause, I hope you’ve learned about some of the reasons why you’ve been hindered in successfully performing your testing tasks.

无论是对代码过度保护,缺乏用户知识还是其他原因,我希望您已经了解了成功执行测试任务时遇到的一些原因。

Moving forward, you can now improve your testing abilities, and as a result, create better, thoroughly-tested products will be released for the benefit of us all.

展望未来,您现在可以提高您的测试能力,因此,为了我们所有人的利益,我们将发布更好、经过全面测试的产品。

*Quiz results:
Can you find the the mistake? Double use of the word ‘the’.
When multiplying 11 by 12 the result should be 132 and not 123 as it appears.

*测验结果:
你能找到错误吗? 双击'the'这个词。
当将11乘以12时,结果应为132而不是123。

关于作者

Joel Montvelisky

In addition to serving as PractiTest Architect, Joel is also its QA Manager, and he has been working as a tester, QA manager, consultant, trainer and speaker for the last 20 years of his career. During this time Joel managed QA teams and processes in companies such as Mercury Interactive (currently HP Enterprise), Cahoots, NewChanel, and more. Originally from Costa Rica, Joel currently resides in Israel, and you can read more about Joel’s views on testing from his professional QABlog.

除了担任PractiTest Architect之外,Joel还是其QA经理,在他职业生涯的最后20年里,他一直担任测试员,QA经理,顾问,培训师和演讲者。 在此期间,Joel管理了Mercury Interactive(目前是HP Enterprise),Cahoots,NewChanel等公司的QA团队和流程。 Joel最初来自哥斯达黎加,目前居住在以色列,你可以从他的专业QABlog上阅读更多关于Joel对测试的看法。

原链接

https://simpleprogrammer.com/developers-poor-testers-can-done/

猜你喜欢

转载自blog.csdn.net/wodeyijia911/article/details/88086359