我试着回答下哈:)
通过楼主的表述,感觉每次发现的问题应该是接口方面的问题。这个表面来看是无法控制,但是如果有个相对完善的测试过程控制,应该会好很多。
1、每次测试,不要仅关注当前的测试对象。现在的产品,尤其采用敏捷模式开发的产品,需求变更、功能增加、环境变更都是常事,因此,在测试的时候,要弄清楚当前的被测对象是否有相互对接或者依赖的接口程序,如果有,一并测试。
2、为什么功能增多、客户增多,上线就出问题,可以通过最近的几次测试结果分析,是不是有些共性的问题,是不是可以提前预防或解决,如果是数据量的问题,建议考虑是不是有可能性能不行,有时候性能问题会导致功能失效,尤其现在的应用环境比较复杂,版本迭代又比较快!
3、对于产品中一些常用的功能,建议利用自动化工具解决,这样可以把节省出来的时间,更多的放在变更测试上,对于功能、接口都可以利用自动化实现,当然,不要考虑太过复杂的框架,把冒烟测试或者所有优先级高的用例或者业务利用自动化实施即可
4、从团队的优化或者管理来说,个人建议你们可加强敏捷测试的学习,更强化与开发团队的沟通,分项目组或者产品组跟进,每个产品都有责任人,紧跟变化,这样才能把不确定变为确定,减少漏测发生,从技能上来说,可以加强自动化测试方面的能力储备。
总结:
测试过程中测试用例不一定是必须的,这个我觉得不是问题的重点,问题核心是测试工程师能不能熟悉被测对象的应用场景,软件除了本身的功能及非功能性之外,很多时候缺陷的产生是由于在业务场景发生了变化,在测试环境里运行的很好,但是一上线就出问题。
其他的下面贴友补充:)