作为一名开发人员,我对最佳 QA 实践等的了解仅限于通过编写单元测试等来了解我。
从测试人员的角度来看,理想情况下,开发人员在将项目签署给 QA 团队进行测试之前应该经过哪些测试程序?
显然,这将根据所采用的开发方法而有所不同,因此基于不同方法的不同答案会很棒。我不想踩到任何脚趾,但同时我不想传递完全未经测试的代码。
根据我的第一句话,我应该提高我在这个领域的知识吗?
作为一名开发人员,我对最佳 QA 实践等的了解仅限于通过编写单元测试等来了解我。
从测试人员的角度来看,理想情况下,开发人员在将项目签署给 QA 团队进行测试之前应该经过哪些测试程序?
显然,这将根据所采用的开发方法而有所不同,因此基于不同方法的不同答案会很棒。我不想踩到任何脚趾,但同时我不想传递完全未经测试的代码。
根据我的第一句话,我应该提高我在这个领域的知识吗?
尽管单元测试通常足够好,但很高兴看到开发人员确保他们从头到尾运行了一个流程,而不仅仅是单元测试。由于应运行的测试类型因应用程序类型而有很大差异,因此我将与产品的测试联系人进行讨论。
对于我来说是新开发人员,我通常会问他们是否愿意在没有经过 QA 测试和对任何缺陷负责的情况下在生产环境中安装软件(从不认真对待它)。这往往会让他们想到我什至没有想到的测试类型!
对我来说效果很好的是以下步骤。
虽然在纸面上这看起来真的很繁重,但我们发现它非常有效地清除和修复了很多明显的问题,因为我们还没有接触到缺陷跟踪系统,所以我们还没有接触到缺陷跟踪系统,而且从长远来看,这可以节省每个人的时间跑步。
对于开发人员在移交给 QA 之前应该进行什么样的测试,没有硬性规定。这取决于开发人员、QA 团队、组织和产品。测试是达到目的的一种手段,而不是目的本身。
重要的是要注意 QA 收到的质量和发布产品的质量。如果这些时间点的质量不是您想要的,您的组织需要查看问题出在哪里。问题可能出在编写大量错误的特定开发人员身上,但也可能出在脆弱的第三方包或一组模糊或不稳定的需求上。
根据经验,以下是开发人员在移交给 QA 之前应测试的优先级列表:
我也坚信开发人员同行评审的想法。自从在我的工作地点采用这种方法后,工作质量显着提高。同行评审提供的新视角经常寻找更有效的方法来编写代码或发现本来会被遗漏的错误。
这表示始终存在可用资源/项目规模的问题;一个小团队可能无法在维持正常工作流程的同时有效地对所有新功能进行同行评审。
此外,尽管这听起来很明显,但我鼓励您清楚地告知测试人员您对代码所做的所有更改(无论多么小)。无数次实现了新功能,但由于相关工作项从未更新足够具体的细节,我从不知道新功能的存在;直到我在探索性测试中偶然发现它。
如果您的测试人员有大量自动化测试(因为最小的更改可能导致这些测试开始失败),这一点就更重要了。