我想我明白。在开发人员测试级别之上,您有客户测试级别,听起来,在那个级别,您会发现很多错误。
对于你发现的每一个错误,你必须停下来,摘下你的测试帽,戴上你的复制帽,并找出一个精确的复制策略。然后你必须记录错误,也许把它放在错误跟踪系统中。然后你必须戴上测试帽。与此同时,您已经丢失了您正在处理的任何设置,并且忘记了您在遵循的任何测试计划中所处的位置。
现在——如果这不是必须发生的——如果你有很少的错误——你可以直接通过测试,对吧?
令人怀疑的是,GUI 驾驶测试自动化是否有助于解决这个问题。您将花费大量时间记录和维护测试,而这些回归测试将花费大量时间来收回投资。最初,使用 GUI 驱动的面向客户的测试会慢得多。
所以(我认为)真正有帮助的是开发活动带来的更高的/initial/代码质量。微测试——在最初的意义上也称为开发人员测试或测试驱动开发——可能真的有帮助。另一件可以帮助的事情是结对编程。
假设您不能找其他人配对,我会花一个小时查看您的错误跟踪系统。我会查看过去的 100 个缺陷,并尝试将它们归类为根本原因。“培训问题”不是原因,但“因一个错误而关闭”可能是原因。
将它们分类和计数后,将它们放入电子表格并排序。最常发生的根本原因是您首先预防的根本原因。如果您真的想变得花哨,请将根本原因乘以某个数字,即它引起的疼痛量。(例如:如果在这 100 个错误中,您的菜单上有 30 个拼写错误,很容易修复,还有 10 个难以重现的 javascript 错误,您可能需要先修复 javascript 问题。)
这假设您可以对每个根本原因应用一些神奇的“修复”,但值得一试。例如: IE6 中的透明图标可能是因为 IE6 无法轻松处理 .png 文件。因此,有一个版本控制触发器在签入时拒绝 .gif 并且问题已得到解决。
我希望这会有所帮助。