3. "开发人员可以用开源工具写测试,因此我们不需要测试人员或者自动测试工具了"
职业测试人员实现的是与其开发同僚不同但同样有效的作用。
人们普遍认识到传统的自动测试工具并不像供应商们炒作的那么有效。原始软件的源码和供应商的产品一样可以改善数据库测试环境下的效率。这是因为没有合适的工具可以提供用户界面测试,所以我们才把方案扩展到了这一领域;我们的传统是有效地实施测试而不是屏幕抓取自动测试。我们开发了测试驱动,是因为在过去的二十年里传统的供应商错过了这个机会。
通常,TDD项目的测试代码至少与应用代码一样多,因此其本身就是应用软件。这种测试代码是需要在目标应用的生命周期中进行维护的。
4. "有了单元测试就不需要手动测试了"
手动测试是一项重复性很强的工作;成本昂贵、枯燥并且容易出错。虽然TDD可以减少功能测试所需的手动劳动,但是它不能消除对黑盒测试(手动和自动)的需求。
通过自动抓取测试人员的过程并记录其键盘和鼠标动作,测试人员能够腾出更多的时间来进行更有意义、更有价值的活动,比如测试难以(甚至无法)自动化的复杂场景。虽然手动测试很费时间(因此也很昂贵),但是如果因为不进行手动测试而漏掉一些错误,则通常意味着将来可能要付出更大的代价。
5. "我们不再需要用户验收测试"
在敏捷开发中,用户验收测试的定位通常是和用户协作确定"错误的需求",而不是检查功能是否与需求匹配。用户在最开始定义需求的时候,他们是根据自己的期望值来描述的。当他们看到"活生生"的系统的时候,他们必然还会产生一些不同的、或者额外的需求。虽然敏捷方法可以减少这种事情的发生概率,但是要完全解决这种问题还是不可能的,因此我们无法回避用户验收测试。商业用户的用户界面验证就更无法回避了,因为他们想象的可能与开发人员稍有不同。而这就得由我们来……
文章来源于领测软件测试网 https://www.ltesting.net/