/+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/
1:现状和问题
目前对测试来说,主要有3个环境,即单元机、集成机、和外网。其中单元机和集成机在实际中的真真作用并不是和软件测试流程中单元测试、集成测试、系统测试、验收测试等相对应。而只是为了解决版本冲突而存在。因为这样的环境存在,在实际工作中出现了以下问题:
l 测试人员同一个功能要在单元机和集成机上重复测试;
l 测试人员单元机测试完成后忘记让部署人员更新到集成机。
l 测试任务出现重叠时导致单元机、集成机出现版本、更新不清等多种问题。
l 出现一个BUG反复出现的问题。
2:问题分析
因为有了以上问题的存在,导致我们不得不去思考问题的症结到底是那个流程或者环节引起的。是否可以通过工具、规范去避免或者解决这些问题。通过和部署人员和开发人员的沟通后我们主要分析出以下几方面问题:
(1)假设:开发任务1更新文件为:A、B、C;开发任务2更新文件为:A、D、E。可以看出这两个任务存在同一个文件A。那下面又分为两种情况。
结果:
A:假设两个任务不同时间段提交。比如任务A 3月10号提交测试;任务B 3月15号提交测试。那如果3月15号之前,测试人员3月15号完成任务A的单元机、集成机测试。则不会出现版本冲突。如果出现了版本冲突。责任是测试人员造成。
B:假设两个任务同时提交:这是最特殊的一种情况,但确实存在。这时候。问题出现的原因是这样的:对同一文件。开发人员A做了修改、开发人员B也做个修改。但修改的分别是任务A和任务B的内容。而两个人不是一个在一个基础上修改的,而是自己修改了自己的。这时候部署人员对开发人员A修改的文件进行更新,则测试必然会发现任务B有问题。这种问题目前只能分析出问题现状。杜绝的根本可能需要开发人员那头怎么协调,但具体措施需要后续思考。目前还考虑不出来解决办法。
(2)假设:如果因为版本问题,有时候在外网修改了某个BUG,但是开发人员忘记在VSS上来修改这个问题。这时候很明显就出现了一系列的恶性连锁反应。以后如果更新这个相关的问题必要导致问题重现。
3:建议:
通过和部署人员讨论后,主要讨论出以下一个方面具体措施:
(1)开发人员在提交测试任务时,需要填写一个提交任务单。此任务单主要约束开发提交前思考自己的提交内容是否存在版本冲突。
(2)如果判定一个任务不存在版本冲突情况下,可以直接同时更新到18和15机。特别是新开发的功能。这样就减少了部署、测试的重复劳动。有更多时间去关注更重要的事情。
(3)希望能看到目前的《版本管理规范》,并能根据现在的现状进行梳理。感觉可行的话通知大家熟知。
个人感悟:如果有了大家认可的规范。那还出现问题,就是个人执行力问题。