测试的过程中我们不光在提出问题,还需要定位和排查问题。我们碰到的很多场景在于问题定位的成本很高或技术难度很高,这个地方的工作是比较有挑战的,如果做的好,对测试工作有着很好的促进作用,也能加深对整个系统的理解。
从大的方面看,这也是测试工作必不可少的一环,而且分布式领域一个为人诟病的缺点,就是测试和调试的成本高,综合看来对这个领域的持续积累和提炼需要提上日程。
这里稍微发散一下,从此扩展出去,如果把整个dump中心的测试工作上升到一个体系的高度,我们需要综合测试本身的特点、分布式系统的特点和阿里系业务的特点考虑几个实际的因素:
1. 如何有效的编写测试用例
2. 如何有效的编写自动化脚本
3. 如何有效的并且灵活的制定自动化回归的策略
4. 如何有效的排查和分析测试过程中的问题
5. 如何有效的管理测试集群
6. 如何有效的管理测试的核心产出(测试数据、测试用例、缺陷),注:我并不认为计划、覆盖率等等是测试的核心产出,虽然是需要我们持续关注的。
这个几个因素每个点都能形成一个面,一个体系。
再回到一开始提出的问题,也就是以上列举的第4点,如何在这个面上有所积累和突破?我们团队规模不大,资源有限,不过有句话“麻雀虽小,五脏俱全”,简单思考之后,我们在目前人手的基础上,根据大家的知识背景进行一些分工:
1. 集群层面(含hadoop,hbase,zookeeper,redis等)
2. JVM层面
3. 业务逻辑层面
大家在平时积累时各有侧重,希望通过零零碎碎的积累,能走向质变的道路,最终由点到面,形成完善的体系。
资源和时间有限,虽然各有侧重,也需要大家不断的分享,相互促进解决,每个人能专注一个方面有所产出,也能通观全局,相互协助。
最新内容请见作者的GitHub页:http://qaseven.github.io/