对DevOps来说,即便自动化测试比人工测试带来的收益更大,人工测试依然是软件开发过程中的一个重要部分。中培《软件自动化性能测试》专家刘老师指出,即便没有别的原因,为了将测试自动化,我们至少也得手动执行一次测试来验证。
接受测试( Acceptance testing)尤其难以替代,即使有人尝试去这么做。即使对那些开发功能实现需求的人来说,软件需求规范简短并且难以理解。在这些情况下,有质量保证的人盯着是有价值并不可替代的。
让人工测试变简单的东西和让自动化的集成测试变简单的东西一样,所以这两种测试策略之间也存在协同效应。
为了让质量保证人员开心,你需要:
·管理测试数据,主要是后端数据库的内容,这样当你重复运行测试时,才能得到相同的结果。
·为了验证缺陷是否修复,需要尽快部署新代码。
看上去显而易见,但是实践起来会有些难度。也许你的数据库太大,无法复制到测试环境。也许它包含最终用户的数据,根据法律需要保护。在这些情况下,你需要在部署测试环境前辨识并清洗任何关于私人信息的数据。
每个企业都是不一样的,所以在这个领域很难给出除了KISS原则(Keep it simple,stupid)之外的普适的有用建议。
自动化测试的优缺点
当你和大家交流时,大多数人对自动化测试的前景充满热情。试想下它可能会带给我们的好处:
·更高的软件质量。
·对于发布按照预期工作的软件有更强的自信。
·减少费力且单调乏味的人工测试。
一切看上去都是那么美好!
但在实践中,如果在不同企业中复杂的多层产品上花费时间,你会发现人们都在讨论自动化测试,但是你也会注意到实践中却缺乏自动化测试。这是为什么呢?
如果你仅仅是编译程序并在编译完成时部署,结果可能会很糟糕。为了让现实世界中的软件能可靠工作,软件测试是完全有必要的。人工测试对于实现持续交付来说太慢。所以,我们需要自动化测试来完成持续交付。
想了解更多IT资讯,请访问中培伟业官网:中培伟业