Unit testing 自动化测试:帮助和教育开发人员的方法?

Unit testing 自动化测试:帮助和教育开发人员的方法?,unit-testing,automated-tests,Unit Testing,Automated Tests,我是一名嵌入开发团队的软件测试工程师。我的大部分工作涉及检查项目自动化测试(主要是单元/集成测试)的状态 我不是一个短视的狂热者,我不想强迫每个人都进行测试,但我确实想帮助每个人充分利用他们花在编写测试上的时间。每周都要花大量时间编写测试,因此最大限度地提高回报是很重要的 现在,我做了一些事情来尝试和帮助。首先,我总是愿意谈论可测试性问题。例如,尝试确定测试策略、特定设计是否可测试等等 除了向人们解释一些事情并尽力帮助他们,我还回顾了完成的代码和他们编写的测试(我必须在故事上签字,这意味着我也有

我是一名嵌入开发团队的软件测试工程师。我的大部分工作涉及检查项目自动化测试(主要是单元/集成测试)的状态

我不是一个短视的狂热者,我不想强迫每个人都进行测试,但我确实想帮助每个人充分利用他们花在编写测试上的时间。每周都要花大量时间编写测试,因此最大限度地提高回报是很重要的

现在,我做了一些事情来尝试和帮助。首先,我总是愿意谈论可测试性问题。例如,尝试确定测试策略、特定设计是否可测试等等

除了向人们解释一些事情并尽力帮助他们,我还回顾了完成的代码和他们编写的测试(我必须在故事上签字,这意味着我也有点对抗性)

我目前的过程是独自坐下来,研究他们的代码和书签,并评论所有问题领域、可以改进的地方以及改进的原因。然后我让开发人员到我的电脑前,讨论所有的审查要点。然后我给他们发了一篇像样的文章,这样他们就有了记录,并且很容易参考

我不会为他们修复代码和测试,但是如果我发现了漏洞,我会添加更多的测试用例等。我决定不为他们修改测试的原因是,开发人员很容易说“谢谢”,但却忽略了。我的理由是,如果他们必须在我签字之前解决我发现的问题,这将导致项目测试的更好标准(即更多自给自足的开发人员测试)

我的问题是:在帮助球队方面,我能做得更好吗?您发现哪些方法是有益的?

我特别希望听到那些拥有类似职位的人,他们面临着同样的挑战(例如,帮助提高测试质量,证明价值测试可以带来相关的情况,并且在支持和对抗之间取得良好的平衡)

*编辑
谢谢你的回答;他们都提出了有益的建议。我将最上面的一个标记为最佳答案,因为我想这要归结为开发人员支持,而结对编程是我还没有尝试过的东西(除了编写测试后的一些即兴“我将如何做”演示)。我将与任何一个在测试中挣扎的人一起尝试:)干杯。

如果你有一些人在测试方面往往很弱,那么与他们坐下来,进行配对编程,在他们编写代码的过程中,你可以帮助他们了解如何进行测试

过了一段时间,这些人应该在单元测试方面做得更好,您在这方面的工作量应该会减少

另一件事是每个人都应该关注测试。如果我触摸一个功能,进行任何更改,那么我应该检查测试以确保它们是完整的。如果有问题,我可以和开发者讨论

您还应该让团队负责人参与工作,因为这是他职责的一部分,或者应该是,以确保每个人都了解如何编写好测试。

我要做的几件事:

  • 让他们运行覆盖范围,找出代码中任何遗漏的区域,并强调尽管他们认为他们已经覆盖了所有案例,但他们可能没有。我和一些人一起做过这件事,当他们认为自己编写了严密的测试时,他们总是对自己遗漏的领域感到惊讶
  • 在本地Wiki上启动“配方”页面。每当有人提出一个他们无法理解的测试场景,或者需要您的帮助时,请将其粘贴到Wiki上,使其易于查找。让其他人也做出贡献
  • 听起来你已经在这么做了,但是要确保当任何人有与测试相关的问题时,即使这有损于你的正常工作负载,也要让自己有空。如果你对它充满热情,它也会激励那些有兴趣做正确事情的人

  • 当我向某人介绍测试(或一种新的测试技术)时,我通常会花大量时间随机地逛到他们的工作站,看看他们进展如何,并推动他们朝着正确的方向前进。这可以很好地安装在茶/烟休息或当你做一个建设。我对此有很好的反馈,但是YMMV。

    根据团队的规模,我想知道在对代码进行初步审查后,吸引其他人成为另一组眼睛是否有意义,他们可以查看您提出的更改,并作为一种方式来表明这不仅仅是您的意见。这可以作为一种方式来强调在您希望看到的更改方面可能存在一些紧张,开发人员可能会回答“哦,这需要几周时间,可能不值得……”或者类似的问题,如果您希望更改的内容不是那么简单的话

    同样,大多数团队如何看待测试?是否有领导人或受人尊敬的人对此持积极看法并帮助培养积极态度?是否有关于测试指南的一般文档可以帮助新加入团队的人员快速跟上进度?这些只是我要检查的其他几个方面,因为有时测试是件好事,有时是件痛苦的事。就像玻璃杯一样,一半是空的,一半是满的,这取决于你想看到它的方式


    并不是说我有过同样的职位,但作为一个已经做了一段时间开发人员的人,正如Martha Stewart所说,这正是我希望看到的,有助于使测试成为一件好事。

    让团队轻松开始测试的一种方法是启动pr