《软件测试经验与教训》读书笔记
- 格式:docx
- 大小:84.65 KB
- 文档页数:46
软件测试心得体会(精选5篇)篇一:软件测试课收获和体会软件测试课学习心得1204013031许院生12计本3班这个学期我学习了软件测试这门专业课程,在学期即将结束的时候,我也对这门课程建立基本的了解和理解。
软件测试这门课程作为软件工程专业中一门很重要的课程,已经在软件领域占据了不可替代的角色,当一个软件从雏形到真正的在一台计算机上运行的时候,谁也不能保证计算机软件能一步到位的满足人们的需求。
所以就有了软件测试,其目的是:第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。
下面我简单的写一下这个学期对课程的总结和收获。
我认为,在整个庞大的软件工程中,不管是需求分析、架构设计甚至是最后的debug,都会产生引入不管的机会,这就要求作为一个软件测试师要掌握丰富的软件工程原理和知识。
测试的工作将会存在于整个项目周期,即在项目开始时需要各种分析调研时就开始了。
尤其是在形成需求规格说明书时就有对文档的测试需求,甚至主导整个项目的走向。
软件测试对逻辑思维、学习能力、反应要求很高,是否有严密的思维和逆向思维也非常重要。
做测试还要考虑到所有出错的可能性,有时候还要用一些非常规的的测试方法。
软件测试还很注重软件性能问题,也就是要保证软件运行得很好;不同的使用环境下,考虑软件的兼容性同样重要。
对于测试员来讲,会比开发人员更加重视软件产品的质量问题。
在测试过程中,测试者可能会为客户的需求角度考虑到更多,由此我们可以认为测试人员有权利决定产品是否可以发布。
然而,通过一个学期的学期,我们又不得不懂得,软件测试人员不是万能的,测试人员在面对一个设计烂编码烂的软件时,也是无法不低头的,再怎么测试它也变不成优秀的软件。
通过课上的理论因为课下的实践和后半学期又因为身体力行于QQ群论坛里使我对测试方法和设计分析有了大致的接触和深入了解。
收印象深刻的有一下几点。
1、最基本的测试的分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试;从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。
浅谈软件测试心得体会(精选4篇)浅谈软件测试篇120xx年是美好的一年,因为这一年我毕业了,因为这一年我又迈入了人生的另一个阶段,因为这一年我进入了重庆惠普实习,我觉得自己成熟了许多.辗转一年的大三生涯,我努力的想要寻找到一份很好的工作,然而,上天总会给予人磨难再给予人甘甜。
我是大二下学期的时候听到消息说惠普要到我们学校招实习生,自己抱着试一试的态度就去参加了笔试,意外的进入了初试,最后在自己的努力下终于得到了来到惠普实习的机会,那时想要进入惠普的迫切心情,我直到现在还能体会到。
惠普是一个非常宽容的平台,她给予了我锻炼与学习的机会,怀揣着忐忑和激动的心情我来到重庆惠普。
第一天来到惠普,我就被她浓厚的企业文化深深的吸引,作为一家跨国公司,企业文化应该更加多元,具有更大的包容性,才能更好地吸贤纳士,让员工将自己的梦想和公司的目标紧密结合,实现最大程度的公司发展和个人提升。
惠普通过各种途径,促使员工真正融入到公司的文化中。
公司的工会组建了多种俱乐部,定期组织内容丰富的业余活动。
在这些非正式的场合里,员工之间的交往、沟通往往可以更加轻松和亲密,从而使公司形成一种具有人情味的家庭氛围,增强了员工的归属感。
公司还在办公大厦内引入了经营纪念品的专卖店和经营、租赁图书的知识中心,并通过定期活动为员工创造良好的文化氛围。
虽然现在我才来到hp短短的几个月,但是我却学到了非常多的东西。
hp的学习资源非常的丰富,以前在学校我是学计算机信息管理的,但是进入hp之后我的工作是测试。
几乎很多东西都是从零开始,需要重新去学习,学习这里使用的工具,学习项目的知识,学习每一个涉及到的系统,做很多的e-learning。
这一段时间,使我觉得自己就好像一块海绵,我在不断的吸收周围的水分,然后使自己变得更加丰盈起来。
回首过去,展望未来,从思想上来说,我从一名普通的大学生到一个为社会服务的软件测试人员,思想觉悟有了很大的提高,作为一个刚刚步入企业的年轻人来说,什么都不懂,没有任何实践经验,不过在各位热心领导和同事的帮助下,我很快的融入到了这个新环境,这对我今后的工作是非常有益的,除此之外我还学会了如何更好地与别人沟通;在这短短的几个月里,我学到了很多在学校学不到的东西,也认识到了自己很多的不足,感觉收益非浅。
软件测试心得体会通用5篇软件测试心得体会篇1本着对IT业的憧憬,走进了中城泰信(北京)信息技术有限公司,我在公司所从事的工作是软件测试,在真正投入到工作之前,我在网上查询了许多测试员的相关要求,了解了作为一个测试人员必须耐心,细心和平和的心态,他的目标是尽可能早一些找出软件缺陷,提高产品的质量,降低维护的成本,尽可能的达到客户的需求。
软件测试员的一个基本素质是:打破沙锅问到底。
另外还必须具备探索精神,有创造性,追求完美,判断准确,老练稳重,强的说服力以及受过编程方面的教育等素质,同时也还必须是个故障排除能手,等等。
还没看完就发现自己离这些要求真的好远,更进一步认识到自己必须要全心全意投入工作,虚心请教,一切都得从头开始。
另外,测试并不是单纯意思上的机械的"测试",它首先要求对产品非常熟悉,不管是从功能上还是操作上。
更为重要的还有就是我们要了解客户的需求,根据客户的要求来测试,看看产品是否能达到他们的要求。
而从这些方面考虑则要求我们必须比任何人都要熟悉产品的一切。
公司的主要产品是电脑还原软硬件和电脑锁等一些电脑安全周边的产品,在真正的投入到测试这个工作之前,我们首先该做的就是熟悉产品,而最最直接的途径便是查看说明书,刚开始每天都是打开电脑,看产品说明书,重复的看,本以为看几遍就都记住,但是到公司进行考核的时候,才发现原来自己真的什么都没有掌握,第一次考核不及格,虽然具体的分数没有看到,但是那份心情,却使自己始终无法忘怀,也更让自己认识到要虚心的,按部就班的好好熟悉产品,要做到对产品耳熟能详。
在我实习期间公司给北京市自来水集团负责查表税费稽查等系统,它主要应用是水费的业务管理。
对于我们来说,它是一个全然陌生的产品,老总要求我和跟我一起实习的同事三天之内迅速熟悉产品的各种功能及完成测试。
当时听了吓一跳,一个对于我们来说全新的产品,一天就要全部掌握而且要测试出它尚存在的问题,这似乎很不可能,而且也有点不相信自己有这样的能力。
软件测试心得体会软件测试心得体会1(624字)通过这次课程设计的实训,增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C++语言这门课程开始,已发现程序设计的乐趣,在学习C++语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。
在实际操作过程中犯的一些错误还会有意外的收获,感觉实训很有意思。
在具体操作中对这学期所学的C++语言的理论知识得到巩固,达到实训的基本目的,也发现自己的不足之出,在以后的上机中应更加注意,同时体会到C++语言具有的语句简洁,使用灵活,执行效率高等特点。
发现上机实训的重要作用,特别是对数组和循环有了深刻的理解。
通过实际操作,学会C++语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。
深刻体会到“没有做不到的,只有想不到的”,“团结就是力量”,“实践是检验真理的标准”,“不耻下问”的寓意。
在此希望以后应多进行这样的实训,加长设间,培养学生独立思考问题的能力,提高实际操作水平。
通过本次项目实训我要感谢学校领导给我们提供了这次机会,让我们自己有出去体会生活,自己做项目的深刻体会。
这次实训让我明白我自己之前的学习还是差很多,只有不断的努力,才能学好。
还要感谢达内公司对我的指导,我自己的努力固然重要,但是达内的优秀教师给我做的培训,讲的理论都让我受益匪浅,让我对软件有了一个新的概念新的理解。
软件测试心得体会2(1681字)将近一个月的假期实习生活结束了,告别了这一次短暂的实习生活,这段时间也让我感概万分,有欢乐,也有苦累,也许这就是实习生活所必须经历的吧。
似乎尝到了校园中所不能经历的辛酸苦累,所以,这段时间里我学到了很多,也都成为了我人生中的宝贵财富,也迈向了社会中重要的一步,是非常值得珍惜的。
这次实践主要就是学会使用公司软件部门所开发的应用软件和各种产品设备,熟悉和了解一贯的操作方法和可能出现的问题,并就如何解决问题向老员工请教方法。
软件测试心得体会软件测试心得体会一:软件测试心得体会软件测试在整个软件周期中的重要性,它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。
这个环节在后续整个项目中占了很大的比重,能主导整个项目的走向,成败与否全在于开始阶段的决策。
体会一:软件测试的真正意义在于发现错误,而不在于验证软件是正确的。
再严密的测试也不能完全发现软件当中所有的错误,但是测试还是能发现大部分的错误,能确保软件基本是可用的,所以在后续使用的过程中还需要加强快速响应的环节。
结合软件测试的理论,故障暴露在最终客户端之前及时主动的去发现并解决。
这一点就需要加强研发队伍的建设。
体会二:在系统性能测试方面需要重视。
经过这次培训中多个案例的讲解,让我了解到系统在上线之后会有很多不能预知的性能问题,需要在上线之前实现进行模拟,以规避风险,包括大数据量访问,高并发数等等。
当然也有很多应对手段,没有哪种手段可称为最完美,只有最合适的,需要灵活掌握,综合运用以达到最优程度,这是个很值得研究的领域。
下面是本人的几点想法:想法一:加强系统上线前的性能测试。
目前我们在项目建设过程中对性能压力测试的重视程度还不太高,厂家也很少有雇佣第三方的测试机构。
而是在现网进行试用,遇到问题再解决,可能会产生滞后问题,影响客户使用。
希望以后能在性能测试方面提高重视程度,加大人力投入,以保证系统上线后能够稳定运行。
想法二:适当介入相关项目研发对于快速响应这块,我们不能一味依赖厂家,而希望自己就能快速响应,及时将问题解决。
这也是一个比较长远的问题,需要加强研发力量的投入。
我个人是做开发出身,有此类经验,当时是在客户现场,因为了解系统内部结构,能够在第一时间排查解决客户所反馈问题。
现在系统完全由厂家开发,很难了解内部结构,或许会造成后期维护困难。
所以,是否应该针对某些项目介入厂家研发工作,比如请厂家提供源代码等相关要素,以增进维护人员对系统的了解。
测试过程中的经验和教训测试过程中的经验和教训在软件开发过程中,测试是非常重要的一环。
测试可以帮助我们发现软件中的缺陷和问题,从而提高软件的质量和稳定性。
然而,在测试过程中,我们也会遇到各种各样的问题和挑战。
下面,我将分享一些我在测试过程中的经验和教训。
经验:1.制定测试计划在进行测试之前,我们应该制定一个详细的测试计划。
测试计划应该包括测试的目的、测试的范围、测试的方法、测试的时间和测试的人员等信息。
制定测试计划可以帮助我们更好地组织测试工作,提高测试效率和质量。
2.使用测试工具在测试过程中,我们可以使用各种测试工具来帮助我们发现软件中的问题。
例如,我们可以使用自动化测试工具来执行重复性测试,使用性能测试工具来测试软件的性能,使用安全测试工具来测试软件的安全性等。
使用测试工具可以提高测试效率和准确性。
3.记录测试结果在测试过程中,我们应该记录测试结果。
测试结果应该包括测试的时间、测试的人员、测试的步骤、测试的结果和测试的建议等信息。
记录测试结果可以帮助我们更好地跟踪和管理测试工作,及时发现和解决问题。
教训:1.测试人员不足在测试过程中,测试人员的数量往往是一个问题。
如果测试人员不足,测试工作可能会受到影响,测试效率和质量可能会下降。
因此,在进行测试之前,我们应该充分考虑测试人员的数量和质量,尽可能地提供足够的测试资源。
2.测试时间不足测试时间的不足也是一个常见的问题。
如果测试时间不足,测试工作可能会被匆忙地完成,测试结果可能不够准确和全面。
因此,在进行测试之前,我们应该充分考虑测试时间的安排,尽可能地提供足够的测试时间。
3.测试范围不够测试范围的不够也是一个常见的问题。
如果测试范围不够,测试工作可能会漏掉一些重要的测试点,测试结果可能不够全面和准确。
因此,在进行测试之前,我们应该充分考虑测试范围的安排,尽可能地覆盖所有的测试点。
总结:测试是软件开发过程中非常重要的一环。
在测试过程中,我们应该制定详细的测试计划,使用各种测试工具,记录测试结果。
软件测试(第二版)书的一些总结软件测试这本书分为了六个部分,介绍了软件测试的基础知识。
以下分部分是我的一些理解。
1.第一部分是软件测试综述,主要介绍了与软件测试及其相关内容的一些定义。
(1)什么是软件缺陷?软件缺陷可以理解为导致软件失败的缺陷,失败的软件可以理解为不符合软件产品说明书或不符合用户要求的软件。
(2)导致出现缺陷的原因以及软件修复的难度(优先级)?软件缺陷的原因实际是在说明书编写、设计、编码时出现了偏差错误,并且随着开发往后,更不容易修复。
(3)软件测试是要做什么?软件测试目的是要发现缺陷,给出提示,并且给出一定的建议(也可以是提供缺陷优先级或严重性等度量)。
值得注意的是,并不是非要给出修改软件的建议,也可以是给出针对用户培训以规避软件缺陷之类的建议。
并且软件测试所针对的范围是交付用户部分,所以测试要包含文档测试。
(4)软件测试时的原则第一是不要求完全测试程序,要把测试控制在合理的测试量内(可由剩余缺陷和测试费用关系得到);第二是找到软件缺陷越多那么软件缺陷越多。
2.第二部分是测试基础,介绍了一些基本的测试方法(白盒与黑盒法的区别是是否参考了代码,动态与静态区别是是否运行了代码):(1)静态黑盒法测试产品说明书。
(2)动态黑盒法,一般用来进行功能性测试。
使用等价类划分的方法,将测试用例合理划分,将测试量控制在合理范围,并通过对测试用例和运行结果对比,得到测试结果。
测试不止是对数据测试,还要对软件状态进行测试(可参考状态图进行,测试软件状态转换是是否出现问题)(3)静态白盒法,设计、编程阶段审查设计、代码。
(4)动态白盒测试,对程序中的代码段或者某个模块进行测试,测试用例不仅需要对数据覆盖(例如代码端公式里除数为0的情况),还要对代码覆盖(语句覆盖、分支覆盖、条件覆盖,一级比一级覆盖广一些)3.第三部分是运用测试技术,介绍了一些常见的测试,如:配置测试、兼容性测试、外国语言测试、易用性测试、文档测试、软件安全测试,并以网站测试作为实例进行了讲解。
软件测试工作心得体会(精选14篇)软件测试工作心得体会(精选14篇)当我们经过反思,对生活有了新的看法时,就十分有必须要写一篇心得体会,这样有利于培养我们思考的习惯。
那么心得体会怎么写才能感染读者呢?下面是小编精心整理的软件测试工作心得体会,仅供参考,希望能够帮助到大家。
软件测试工作心得体会篇1曾经一度认为软件测试就是使用工具测试bug,现在看来不是这么一回事情,因为还是有手工测试(执行测试),工具只是一个辅助,用工具你先要去了解测试的一些基本的东西(如:测试用例,预期结果等),不是那按两下按钮就行了,就算是录制脚本,也需要看懂脚本的代码,工具不是万能的。
一开始接触软件测试觉得很枯燥乏味,全都是一些理论的东西,还不如回到小学学习语文呢,都是一些名词的解释,比如:黑盒测试,百合测试,系统测试。
测试基础等等这些,老师都会去告诉你这些名词什么意思,很无聊,到后来慢慢由语文变成了数学,开始练习测试用列的编写,这个还有点意思,因为这个更多时候能够体现个人的逻辑思维能力,再然后数学就转变成了英语,因为要使用到一些测试的工具,比如:WinRunner工具,录制脚本它会产生一些代码,不过代码比较好理解,虽然是英文的但是还是很好看懂的。
学习软件测试一学期,其实我觉得最重要的是兴趣,有了兴趣还是不行的,还需要具备一些语言的基础,例如:C,java,C#等一些语言,这些语言你不需要去深入的学习,只需要了解,最重要的是了解数据库(例如:SQL,MySQL,Oracle)的知识,想要成为一个好的测试工程师,应该要全面的发展,读懂需求分析文档(注:客户的要求),还有要学会写文档,语言的组织能力决定你这份文档的价值,这也是一种沟通能力的体现,比如写缺陷报告时:有一项是描述缺陷,这就能看出你的表达能力,给程序员能不能看懂就能体现沟通,最后就是整理文档和撰写测试总结报告,越是到最后越是要细心,因为软件永远都是有缺陷的,我们的细心可以让软件减少一些bug,不求最好,只求更好。
软件测试心得体会5篇软件测试心得体会5篇软件测试心得体会篇1实习目的:通过实习提高自己的对社会的认知能力,同时理论联系实际,让自己迅速适应社会,跟上it前进的快速步伐。
通过理论与实际的结合、学校与社会的沟通,进一步提高学生的思想觉悟、业务水平,尤其是观察、分析和解决问题的实际工作能力,以便培养自己成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。
1、负责应用上线前的内部测试,android应用程序的测试;2、构建测试环境,设计测试脚本和用例,执行测试脚本和测试用例,寻找bug;3、分析问题所在并进行准确定位和验证,按照标准格式填写并提交bug报告;4、跟踪并验证bug,并确认问题得以解决;5、按照标准格式填写并提交测试报告,完成软件开发的集成测试工作。
任职要求:1、掌握软件软件测试理论,有清晰的测试逻辑,良好的沟通能力2、熟练编写测试用例及缺陷报告3、了解安卓系统常用工具及命令,了解常用自动化测试工具4、有过专业的测试培训经历者优先考虑软件测试心得体会篇2一个从点点点开始,一切未知的故事。
在最初的认知里,软件测试这个行业需要掌握的只是简单的点点点,但是怎么点,从那点,为什么点一直是我内心的疑惑,所以,为了让自己能够点点点,更明白的点点点,学习软件测试并在这个行业发展成了我现阶段的目标。
需求澄清阶段:从二三百字的英文需求文档,像一个产品的使用说明书,简单明了的交代了是什么,怎么用。
到后来几千字的需求澄清文档,是一次思维的转变。
从习以为常的使用各种软件到思考怎样去制造出来一个软件,一个成熟的软件具备了哪些功能才能够让我们去使用,要同时从人和计算机的角度去思考问题。
从人的角度出发,我们要考虑我们所需要的软件能够帮助我们干什么,在哪些方面减少我们的人工成本,怎样才是使用起来方便快捷的。
从代码的角度出发,代码能够实现的功能有哪些,其中的逻辑顺序是怎样的,怎样才能用最少的代码实现最多的功能。
尽最大的努力去提出尽可能多的需求。
浅谈软件测试心得体会软件测试是保障软件质量的重要环节,它能够帮助发现软件中的缺陷并提供改进建议,以确保软件在正式发布之前能够达到用户的期望。
在过去的工作经验中,我积累了一些心得体会,现在我将结合个人经验,就软件测试进行下浅谈。
一、了解软件开发过程软件测试是软件开发过程中的重要环节之一,因此对软件开发的整个过程有一个全面的了解是非常必要的。
只有了解软件的开发目标、用户需求、技术架构和实施计划等信息,才能更好地进行测试。
对软件的了解不仅仅是对功能的理解,还包括对软件的界面、性能、安全等方面的了解。
只有这样,我们才能够有一个全面的视角去发现软件中的潜在问题。
二、制定合理的测试计划测试计划是软件测试过程的基础,一个合理的测试计划能够帮助测试团队更好地组织测试活动,提高测试效率和测试质量。
在制定测试计划之前,我们需要明确测试的目标,即要测试的内容和所期望的测试结果。
同时,还需要结合软件开发的进度和时间安排,制定出合理的测试时间表。
在制定测试用例时,还要根据测试目标和需求进行全面的覆盖,同时注重边界条件和异常情况的测试。
只有制定了合理的测试计划,才能够更好地组织和实施测试工作。
三、灵活运用测试方法软件测试的方法有很多种,如黑盒测试、白盒测试、灰盒测试等。
在测试过程中,我们需要根据实际情况选择合适的测试方法。
如果对软件内部的结构和代码了解比较深入,那么可以选择白盒测试方法;如果只关注软件的功能和用户体验,那么可以选择黑盒测试方法。
灰盒测试则是综合了白盒和黑盒测试的特点,既注重软件内部的结构,又注重外部的表现。
灵活运用测试方法能够更好地发现软件中的问题。
四、注重测试环境的搭建测试环境对软件测试的结果有着重要的影响。
正式的测试环境应该与实际使用环境尽可能一致,以确保测试的准确性和真实性。
测试环境应该包括硬件、软件和网络等方面的配置。
测试人员在进行测试时,应该熟悉所测试的软件,在测试环境下模拟用户的操作,以确保测试的有效性。
《软件测试经验与教训》读书笔记测试员的角色1)测试给项目产品做关键决策时提供信息依据。
2)测试员要明确自己的在项目中的使命,使命决定要做的一切。
3)测试员要服务于多类客户,针对不同客户,提供不同信息。
(例如:技术支持、管理者、市场人员)4)测试员需通知客户有关威胁产品价值的任何信息。
5)测试员要迅速找出重要的程序问题。
(变更的、核心的、常用的、可用性、影响大的、最需要的部分)6)为程序员提供支持。
尽量建立最短、最快的反馈环路。
7)询问项目相关一切问题,最好结合其他沟通形式提问。
8)测试员关注失效,客户才能关注成功。
注:确认程序正常是不可能的,除非运行所有可能的测试,所以确认成本是很高的。
9)测试员不会发现所有程序问题。
所以应自知不能完成所有事,合理有效安排自己的时间。
10)测试员当心向客户传递隐藏的已“完备的”测试。
应让客户详细了解测试过程,总结自己已实施和未实施测试点及如此安排的原因。
11)通过测试不能保证质量。
测试员既不会提高质量,也不会降低质量,质量来源于构建产品的人。
注:测试员能促进项目质量保证的信息,但质量保证是来自整个项目团队的。
12)永远别做看门人,即测试员永远不要把控产品发布的权力。
因为这样团队其他成员可能会放松质量。
建议:由控制项目、条件好的人承担发布产品责任或由集体决定是否发布产品。
13)当心测试中的“不关我事”理论。
测试员的使命应该是尽其所能,通知团队可能会对产品的价值产生消极影响的所有问题。
--14)当心成为过程改进小组。
因不管过程改进要干什么,它永远都会涉及感情。
15)别指望任何人都能理解测试,或理解测试员需要什么条件才能搞好测试。
所以测试需向客户解释测试,且需一遍又遍地解释。
因为疫苗的作用会逐渐衰退。
测试员的思考方式:测试员不喜欢抱怨,他们喜欢提供证据;测试员不喜欢征服,他们喜欢打破产品没问题的幻觉;测试员不喜欢发布坏消息,他们喜欢把客户从虚假信念中解放出来。
16)测试运用的是认识论。
认识论研究如何认识所了解的东西:研究证据和推理。
(如:怎么知道软件足够好?如果软件不是足够好,怎么才能知道?怎么知道已完成了足够的测试?)17)研究认识论有助于更好测试。
(例如:如何收集和评估证据?如何进行有效的推论?如何使用不同逻辑形式?如何做出好的决策?)18)认知心理学是测试的基础。
如果说认识论告诉我们应该怎样思考,那么认知心理学告诉我们的是我们是怎样思考的。
(例如:人的感觉和记忆可靠性。
信念从哪里来。
在压力下如何思考。
)19)测试能力差别在于测试员如何思考。
(如:测试员的测试设计选择;解释所观察到的现象的能力;分析描述这些现象的能力。
)20)测试需要探索式推断,而不只是输出与预期结果对比。
21)优秀测试员会进行技术性、创造性、批判性、实用性地思考。
∙技术性思考:对技术建模并理解因果关系的能力。
(如:相关技术事实的知识和使用工具并预测系统行为的能力。
)∙创造性思考:产生思想并看到可能性的能力。
(如:寻找猜想可能存在的问题。
)∙批判性思考:评估思想并进行推断的能力。
(如:消除错误的能力并构建好的测试用例的能力。
)∙实用性思考:把想法付诸实施的能力。
(如:运用测试工具,并使测试手段和力量与项目范围适应的技能。
)22)黑盒测试并不是基于无知的测试。
因为测试员对产品及产品的方式了解得越多,越能更好地测试它。
而黑盒测试的优势在于测试员可能与程序员的思考不同,因此有可能预测出程序员所遗漏的风险。
23)测试员不只是游客。
两者差别:测试员把精力放在评估产品上而不只是见证产品。
注意:测试员对产品做大量的非测试的事(例如:看看产品由什么组成;怎么工作的。
),有助于对产品的了解,为了更好地测试。
24)所有测试都试图回答关于已BUILD产品和用户所需产品间关系的某个问题。
--25)所有测试都是基于产品模型(例如:谁是用户,用户关心什么等一些概念),而不是实际产品。
26)直觉是不错的开始,但又是糟糕的结束。
建议:把直觉用作指南,但不能用作合理性证明。
27)为了测试,必须探索。
所有测试都是采样,且样本永远不可能完备探索式思考要在整个测试项目过程中,在寻求最大化测试价值时起作用。
这里所谓的探索,是指有目的的漫游:带着一般使命在某个空间中漫游,但没预先确定的路线。
探索包括不断学习和实践。
28)探索要求大量思索。
探索就是侦查,是没有边界的搜索,需要前向、后向、侧向思索。
∙前向思索:根据已知探索未知,从所看到的探索还没看到的。
注意支流和副作用。
∙后向思索:从怀疑或想像的东西返回到已知,尝试证实或否定自己的推测。
∙侧向思索:让自己的工作由于新冒出的想法而转移,然后再探索主题返回到主线索上。
--29)使用诱导推断逻辑发现推测。
诱导推断又叫做假设归纳,是一种测试员每天都要使用的关键推理形式:最佳解释的推理。
主要内容是:第1:收集一些数据并要找出其中的意义。
第2:构造可能说明这些数据的各种解释。
第3:收集更多的数据,以确定或否定每种解释。
第4:从候选解释中,选择能够最一致地说明所有重要数据的解释,如果没有足够证据证实任何结论,刚继续搜索。
30)使用猜想与反驳逻辑评估产品。
20世纪初,哲学家Karl Popper引入了猜想与反驳方法,用于如何区分宗教和科学问题。
这种方法基于科学家永远也不能绝对肯定任何具体事实,或关于自然的理论这个前提。
这个方法,以如下三种重要方式应用于测试:第1:测试的目的是显示产品失效,要比显示产品正常更有力。
第2:有关软件(软件有怎样的行为、如何好等)已经牢固形成的信念应该受到质疑。
第3:警惕声称以超过测试员所运行的具体测试的试,检验或确认了产品的测试。
任何量的测试都不能提供产品质量的确认性。
31)需求是重要人物所关心的质量或条件。
作为测试员,必须认识到谁的关于质量的观点最重要;不同客户通过产品要得到不同的东西,他们不一定知道要什么,而且所要的东西会随时发生变化,这使得测试员的工作更有意义。
32)通过会议、推导和参照发现需求。
需求信息到达测试员主要有三种途径:第1:会议:找出其关于质量意见最具影响力的人,与他们交流,了解他们最关心什么。
第2:推导:通过外推已知的项目和产品其他信息,确定什么需求最重要。
第3:既发现显式,也发现隐式规格说明,并以此作为测试的基础。
33)既要使用显示规格说明,也要使用隐式规格说明。
--显式规格说明是一个有用的需求信息源,经过客户的权威确认。
(如:“是的,这就是规格说明,是产品描述。
”)--隐式规格说明是没有经过客户权威确认的一个有用的需求信息源。
(如:“这不是规格说明,但是有意义。
”)隐式规格说明的威信来自其内容的说服力和可信性,而不是客户的批准。
在大多数情况下,只有部分隐式规格说明与当前产品有关。
其存在形式:竞争对手的产品、相关产品、同一产品的老版本、项目团队之间的电子邮件讨论、顾客意见、图形用户界面风格指南、操作系统兼容性需求、测试员自己的丰富经验等。
34)“它没有问题”真正的含义是,它看起来在一定程度上满足部分需求。
注意:测试员所认为的“它没有问题”的意义,可能与别人的定义不同。
35)任何时候报告产品质量状态时,都应该用有关测试方法和测试过程等已知局限性的信息对报告限定。
因为不管测试员对产品的质量有什么看法,都只是猜想。
--36)不要将试验与测试混淆。
测试需包括四个活动:配置、运行、观察、评估。
37)当测试复杂产品时,使用“陷入与退出”法(plunge in and quit)。
即,试着先研究复杂产品30分钟或1小时,然后停下来干点别的。
这个方法的优点是,除了选择产品的一部分进行研究外,绝对不需要计划。
这个几个轮次的陷入与退出后,就能开始明白产品的模式和轮廓。
38)运用试探法快速产生测试思路。
(试探法测试,如:测试边界、错误消息、与程序员不同的配置环境、比较难设置的测试、避免冗余测试等)请注意:试探法中并没有智慧,智慧来自测试员,试探法所能够做的,只不过就是为测试员的思考提出建议。
在收集测试方法时,要了解每个方法背后的原理,以及适用和不适用的条件。
39)测试员不能避免偏见,但可以管理偏见。
多样化可抵御过强的偏向,测试员集体谈论测试问题,可将一个测试员的偏向降低到最低限度。
注意:试探法也是一种偏向,使用试探法,是因为其偏向可以以较好的方式引导测试员。
常见偏向:同化偏向、证实偏向、可用性偏向(以头脑中已有的一种用户操作场景作为最常见的场景)、最初印象偏见、最新印象偏见、框架效应、知名偏向、表达偏向。
40)如果知道自己不聪明,就更难被愚弄。
做到这一点并不难,只需仔细看看自己在测试中犯的错误,且在考虑自己的测试策略细节时就会更认真一点。
任何时候都要注意其它测试员发现了本应自己也能发现但未发现的问题。
41)回溯漏测问题产生原因,是意外还是测试策略所致。
42)测试员的困惑,可能是某种重要的预示。
(困惑内容,如:规格说明书不清楚;产品不清楚;用户文档不清楚?内部问题难以理解。
)43)新眼光或角度会发现失效。
防止固化测试思路的三点提示:第1:第一次接触产品或功能时,要特别注意使自己困惑和烦恼的地方,因为用户也会有类似反应。
第2:当与团队新成员一起测试时,观察他们在了解产品时的反应。
第3:警惕陷入测试惯例。
在任何可能的地方引入多样性,或改由其它测试员负责。
44)测试员不能盲目遵循过程,除非过程先跟随自己。
注意:其一:如果要遵循测试过程,最好采用自己设计、自己拥有或已经完全了解的过程。
其二:为了得到最好结果,测试员必须掌握自己的测试,而不是自己的文档,即要使过程跟随自己。
45)在创建测试过程时,避免“1287”。
即,编写测试过程时要避免与测试概念无关的细化,只需包含所有必要的信息和设计与解释测试所需的细节,但要让未来的测试有创造性和判断力地执行。
46)更好、更聪明的测试员是测试过程的一个重要成果。
好的测试员永远都在学习。
注意:在评估测试过程时,首先要看项目测试员的素质,要看他们怎么思考,以及这种思考怎样对其行为产生影响,只有掌握了这些信息才能评估他们的工作产品。
47)除非重新发明测试,否则不能精通测试。
我们应该把东西分解,琢磨其工作原理,再以新的方式组装以适应新的条件。
在学习过程初期,要重新发明不是非常好的测试、想法、手段和文档。
这是正常的,要永远使头脑运转,观察其它测试员,研究和不断评估如何筛选自己的思想,要善于做到这一点,就必须实践。
测试手段:48)关注测试员、覆盖率、潜在问题、活动、评估的组合测试手段。
即“五要素测试系统”。
建议:测试时要时刻想都会所有五个要素,可能做出更好的组合选择,而不是采用只关注一种要素的手段。
∙测试员:进行测试的人。
∙覆盖率:测试了哪些内容。
∙潜在问题:测试的原因(要测试什么风险)。
如:测试不满足这个需求的各种方式。