【转】探讨一下最理想的自动化测试模型,自动化测试如何做到分层 ?
自动化测试介绍 自动化测试(Automated Testing),是指把以人为驱动的测试行为转化为机器执行的过程。实际上自动化测试往往通过一些测试工具或框架,编写自动化测试用例,来模拟手工测试过程。比如说,在项目迭代过程中,持续的回归测试是一项非常枯燥且重复的任务,并且测试人员在每天重复劳动的工作之下,也丝毫得不到成长。 此时开展自动化测试就能够帮助测试人员从重复、枯燥的手工测试中解放出来,提高测试效率,缩短回归测试时间。一般来说,自动化测试通常都会跟持续集成系统(比如Jenkins)配合使用。 但在自动化实践过程中,往往会发现理想和现实之间的差距很大。自动化测试的劣势,主要体现在以下几方面: 1 相对手工测试,自动化测试对测试人员的要求相对较高; 2 测试用例需要根据版本迭代进行更新,有一定维护成本; 3 不能指望自动化测试去发现更多新的BUG,自动化测试能发现的缺陷远远比手工测试少; 4 自动化测试的产出价值往往在于长期的回归测试,短期内发挥的作用可能不明显; 希望借助自动化流程解决的问题 1 测试时间紧张,手工测试可能覆盖不全,容易错过某些边界情况; 2 模块间强耦合时,单纯从页面进行测试时,比较难深入的发现问题; 3 回归测试时,需要投入较大的人力/工时; 4 实现手工测试无法达成的测试任务; 5 通过编写测试用例,加深对业务/数据的认知,有助于下阶段迭代中发现隐藏的问题;