手工测试和自动化测试都基于对用户需求、功能需求的正确理解,对测试对象进行充分测试设计的基础上开展的。
软件测试
按照测试阶段或者功能稳定程度来划分,手工测试更适合软件模块、集成测试阶段或者功能稳定性低(缺陷多、变动快等),如果这个时候开展自动化会引入过多的自动化开发、维护成本。自动化测试更适合在产品迭代后期或者功能相对稳定的时候开展,通常应用于回归测试场景下
按照不同的测试对象来划分,如测试百万级的元数据迁移、汇聚处理时,由于数据的多样性,很难通过用手工测试保障质量,自然而然需要考虑自动化的方式提高测试效率,进而保障测试质量。时间有限的情况下,使用自动化尽可能覆盖重复性高的操作。
软件测试
同时自动化并不是生搬硬套,根据不同的业务场景选择合适的自动化框架十分重要,可以有效的提高测试开发效率和降低维护成本。如,对于一个含有强流程的业务模块,采用关键字驱动测试框架更利于用例的组织和维护。通常常用的自动化框架还包含数据驱动测试框架、模块化测试框架。
自动化测试的类型也要因地制宜,如ui自动化、接口自动化等等,也需要结合业务特点、底层架构选择合适的类型开展。
最后应该尽量避免为了做自动他而做自动化,而是为了去做更多有价值的测试。