广栈测试

2013年4月22日

广栈测试是一种测试,它会对大型应用程序的大部分组件进行测试。它通常被称为端到端测试全栈测试。它与组件测试形成对比,后者只测试系统中定义明确的一部分。

广栈测试和组件测试之间的区别是一个连续体,而不是一条清晰的界限。测试如何操作应用程序是栈完整性可能缺失的一个方面。广栈测试通常通过UI操作应用程序,例如使用Selenium和Sahi等工具测试Web应用程序。但是,皮下测试也可以是广栈测试,如果它继续测试软件的大部分其他部分。为了进一步限制范围,通过服务接口测试应用程序的测试也可以被认为是服务器的广栈测试。

这些测试没有涵盖栈完整性的另一个方面在于与远程系统的连接。包括我在内的许多人认为,调用远程系统的测试速度过慢且容易出错。通常最好使用测试替身来代替这些远程系统,并使用契约测试来检查替身。

广栈测试的优点是,它可以测试应用程序的所有部分连接在一起,因此可以发现组件之间交互中的错误,而组件测试无法发现这些错误。但是,广栈测试也往往比组件测试更难维护,运行速度也更慢。因此,测试金字塔建议使用更少的广栈测试。