不能正肯定义测试,就可能会产生无休止的争论。让测试人员或开发人员不知道本身的本质工做是什么,同时也会致使项目的失败。安全
在小机构或者小公司,一我的能够同时分饰多种角色,能够发现问题,查明问题,定位,肯定重要性,修改和解决问题。学习
在大型机构或公司,必需要定义测试和开发的具体职责和分工,这样才能避免项目冲突和失败。当我的的职权范围覆盖测试团队、开发团队和支持团队,就须要明确谁负责哪项工做。只有对工做进行明确分工,才能对整个项目加以改善,提升项目成功的可能性。测试
项目中没人能够随意浪费任何人的时间。spa
经过这一原则,有两种应用:设计
1)测试人员在通知开发人员以前,对单个缺陷进行研究的时间限制在10分钟之内开发
10分钟后,若是对缺陷或缺陷所致使的问题仍是不了解,能够请求他人帮助。文档
2)不要浪费时间来作细微的区分产品
发现和查明缺陷之间没有一个很清晰的界限,不要浪费时间争论特定的活动是否属于查明问题,而让测试人员和开发人员都投入进来共同完成工做。例如创建讨论组,或者测试人员和开发人员一块儿定位问题。模板
1)定位缺陷须要花费时间,不要估算定位错误的时间。效率
2)每次任务切换都会损失一些时间,若是要切换的任务数目达到了五项,可能就会没法完成任何工做。给人员分配工做时,不要随意添加工做,最好不要超过3项。
3)若是须要进行可靠的测试,就须要集中精力,不能将其当作低优先级的工做而被打断。
4)不能要求测试人员查明每一个故障,若是测试人员有相应时间,能够安排帮助开发人员。但这项工做实质上仍是开发人员的职责。
5)不能要求开发人员定位每一个问题,这彻底是开发人员的工做。
6)程序完成修改,若是不赶时间,必定要从新测试(回归测试)。
7)在设计和构建代码时就须要考虑可测试性,这样能够显著下降测试方面所须要的时间和精力。
8)对间歇出现的缺陷要投入大量精力来追踪,而不是把它做为推迟测试和推迟修改的借口。可使用已经得到的缺陷信息,而不要浪费测试人员时间,让测试人员持续测试,去“重现”问题。
9)测试人员的工做不能仅经过肯定的测试用例来包含,应转换为按照测试活动进行思考。好比测试人员应可以根据项目创建测试用例,并执行测试用例。??须要再考虑这一条。
10)当有如下这些特征,可能须要公司改变一下:1.认为测试人员须要查明和定位缺陷;2.认为给开发人员送茶递水是测试人员的工做。
软件测试的目的是提供有关产品质量的信息,本章做者提供不少致使测试失败的元信息,经过观察和识别这些元信息,能够显著提升测试的效率并下降成本。
1)没有规格说明书
咱们要对产品进行测试,就须要有测试所针对内容的规格说明书。若是找不到这些规格说明书,则就须要对所要测试的内容进行质疑了。
2)测试人员没有对非本身组内的测试问题进行记录
3)测试人员也许测试的就是错误的应用程序
4)由于最差的组件花费时间较多,因此不对最差的组件进行测试
5)忽略测试人员提供的信息
6)因惧怕开发人员发脾气而不去报告缺陷
7)由于开发人员水平比较高而不进行测试
1)测试报告中不会包括全部相关信息,里面顶多也只包含一半你所须要的信息
2)应对测试的执行过程及其所隐含的状况进行直接的观察,从而验证测试报告
3)测试只能显示某些事情失败了,或者在特定条件下没有失败。测试不是关于证明的,而是关于证据和推论的。
4)文档不使用的状况下没有任何价值。若是使用了导向错误的文档,比没有价值更槽糕。
5)若是修改缺陷的速度慢于缺陷增加的速度,能够中止制造新的缺陷,进而修复已有的那些缺陷。
6)有效的测试是,既要集中精力又要有目的。没有目的地集中精神,看似不错,但不会取得多少成果。
7)对发现故障应进行记录,不该该进行忽略。为了“节省时间”而不记录故障状况,会致使事与愿违的效果。
8)不该该过分记录发现的每个缺陷。由于记录每个缺陷的代价是很高的,对于某些缺陷,不用准备正规的详细说明,而是将相关信息放到电子邮件中,或在会议中进行说起,或向开发经理进行口头报告。提升报告的成本会提高测试人员自我审查的可能性。有些类型的缺陷能够做为一个记录按批提交。
9)某个模块或者某个项目,已经发现的缺陷越多,将要发现的缺陷就会越多。完美的开发人员是不存在的。
10)模板保证了文档的形式是标准的,可能会掩饰一些不可靠的信息。
测试的目的是提供信息,但人们经常会将这些信息当作某种威胁。测试很容易触及人们的恐惧点,咱们要作的就是识别每一个人表现出的防卫行为,而后主动的去应对,这样才能避免混乱的情绪而影响测试工做。
在咱们的自尊程度比较低而某些交互触发了生存规则的时候,咱们会采起防卫措施。由于若是生存规则被打破,会致使咱们对自身安全产生强烈的恐惧感。而测试很是容易触及这样的生存规则。好比测试发现了一堆缺陷,项目没法顺利完成可能会触发本身的生存规则,说:“我必须按进度工做”或者“我必须实现承诺”。
心理学家将这些防卫错误分红六个类别:压抑、合理化、投射、转移、过分补偿和强迫。
压抑就是不认可或者忽略咱们认为没法接受的想法、感受和记忆。压抑的一个例子:鸵鸟将本身脑壳埋到沙子里:“若是我看不见,那就不存在”,掩耳盗铃。
合理化就是试图让没有意义的、愚蠢的或者是无理的举动看上去合理。例如,一名开发人员声称:“我在程序中留下错误就是为了检验测试人员是否工做得很好”就是在进行合理化。对于测试人员,应如何引发开发人员的注意而不让他们感到威胁增长?他能够经过解除掉开发人员的防卫(用合乎逻辑的过程进行解释),而后说明须要作出一个修复。
负面的投射,就是批评其余人具备咱们本身身上也有的某种并不但愿的品质。好比,若是我私底下怀疑本身有些自私或者专横,我可能会在其余人身上找出这些负面品质,抱怨说:“他很贪婪”,或者“他颇有控制欲”。
转移就是指责并不是问题真正来源的人或事,从而免除咱们本身的责任。例如,“个人铅笔断了,因此我无法完成家庭做业。”。当开发人员面对测试人员提出的“没法接受”的问题时,可能将抱怨向测试人员,向其余开发人员,向他们的经理,向整个世界进行转移。
过分补偿就是为了弥补某些真实的或者是想象的我的不足而作得过了头。例如,某我的由于以为本身不够可爱而变成一个工做狂。
强迫就是没法摆脱某种负面的行为模式。例如,某人不容许对已定义的过程有任何微小的误差。
1)在人们惧怕时,须要注意观察,很容易看出别人采起的防卫机制。
2)不能制造恐慌的环境,由于报信的人带来了不想听到的消息而指责他,你将再也没法听到你应该听到的信息了。
3)一我的的强迫行为,每每会致使其余人产生恐惧和防卫行为。最优的作法应该是努力让本身的行为合乎道理。
4)学会带着赞扬的态度听取异议和辩解。试着在反对观点中寻找和尊重那些有价值的内容,实际上总会有些内容是有价值的。争论者辩解说“太难修复了”,也许是为了表示,“我不知道如何才能快速或者廉价地修复它,我也不肯定我花时间在这里是不是个好主意。”
5)防卫行为是人的广泛反应,在任何地方均可能发生。
对于应对防卫反应,不须要了解他们为何这样进行防卫,须要经过创建合理的规则和指导原则来纠正这种状况。规则:首先不将对方的行为定义为防卫性的,但按照它是防卫性反应来看待,看看它是否会在温和的测试下表现出来。
首先,须要了解防卫性反应是受恐惧驱动的。尝试一下可否肯定对方惧怕的是什么,再看看在找到方法减轻那种恐惧以后会怎么样。
危机思惟:在顺境中要有警戒心。对某些防卫反应用危机思惟来思考,就是,某些防卫反应可能就是无效的论点,可能就是一些我的攻击。这种状况下,经过使用逻辑方法找到比人论点是不是基于逻辑。
经过足够的时间,能够更好的辨识别人的防卫反应,并加以解决。例如,一些常见的防卫反应说法:“这是为了用户自身利益”,“这是按照我设计的方式工做”,“修复它“太冒险””。
1)要考虑差别,每一个人都有本身的规则。每一个人在本身的规则受到威胁的时候都会感到恐惧。规则不一样,作出的反应也是不一样的。要平等地对待每一个人,但不必定要采起彻底相同的方法。
2)不要对别人说他们不关心质量。每一个人都是至关关心质量,他们也许不了解如何得到高质量。每一个人对质量的见解都是不一致的,要教育他们,使得你们对于质量的理解统一。
3)须要经过实践来学习如何辨识和有效地应对防卫反应。若是出了一些错误,让本身稍微放松一下。
4)若是你是经理,须要处理其余人可能影响他们工做完成状况的反应就是你的职责。