面向技术的测试:支持团队开发的关键策略
在软件开发过程中,测试是确保软件质量的重要环节。关于何时编写测试以及测试的目的,存在多种不同的理念。虽然敏捷社区普遍认为测试驱动开发(TDD)有助于团队实现更高质量的软件,但每个团队仍需确定适合自身的方法,以达成质量目标。以下将详细探讨程序员测试支持团队的多种方式。
让测试人员的工作更轻松
与程序员测试相关的核心实践能使许多测试活动更易完成。程序员在自己的沙盒环境中工作,可以在不影响他人工作的情况下测试新代码。在代码通过沙盒中的一系列回归测试之前,他们不会将其提交。
团队需要考虑测试环境和测试数据的使用。为了提高速度,单元测试通常使用假对象或模拟对象,而非实际数据库,但程序员仍需使用真实数据进行测试。测试人员可以帮助他们确定合适的测试数据。如果单元测试能反映真实数据,后续发现的问题就会减少。
例如,Lisa所在的团队最初采用敏捷开发时,没有任何自动化测试,无法生成可部署的代码包,也没有基本的测试环境和测试数据库。于是,团队决定采用测试优先的方式编写代码,并承诺在适当的层面实现测试自动化,但首先需要搭建一些基础设施。
团队的首要任务是实现持续构建过程,这在几天内就完成了。每次构建都会发送一封包含已提交文件列表和更新说明的电子邮件,这样就可以选择要部署和测试的构建版本。
接下来的重点是提供独立的测试环境,确保一个人的测试不会干扰其他人的测试。新的数据库专家创建了新的模式以满足测试需求,并建立了一个包含规范的、类似生产环境数据的“种子”数据库。这些模式可以根据需要快速用一组干净的数据进行刷新。团队的每个成员,包括Lisa,都拥有了一个独特且独立的测试环境。
在团队掌握
超级会员免费看
订阅专栏 解锁全文
4387

被折叠的 条评论
为什么被折叠?



