测试十戒律:
1、你应该使用大量输入,来反复锤炼被测的应用程序
*大规模的随机测试(自动化),而且有助于理解输入和输出的关系
2、你应当贪图你的邻居的应用程序
3、你应当亲自寻找睿智的预言家
*对应的输入是否有对应的输出,也就是测试基准是否清楚的了解特定输入和环境条件组合的情况;
*尝试让测试基准自动化,也许做不到,但是这样思考你可以选择做更有效率的工作
4、你不应该崇拜无法重现的失效
*尽最大努力注意并记住(或记录下)对软件采取的动作次序,同时记住应用程序的响应
*考虑使用调试器之类能追踪动作和软件状态的工具
*警惕为它白白花去了一整天的时间
5、你应该尊重你的模型和自动化测试
*测试模型是关于应用程序做些什么(即模型)和怎么去做(即自动化测试)的点滴智慧的结晶
*即使做不到自动化,也应该尝试
6、你应该利用开发人员的过错与他们作对
*总结开发人员的错误类型,理解他们自己的错误模式,然后将该类型错误的测试运用到该开发人员编写的每个模块
7、你应该醉心于应用程序的谋杀(诸如让你的机器蓝屏吧^_^)
*对于任何一个缺陷应该深入调查,而不是轻易放过
*确认自己是否确实了解缺陷的影响程度和破坏力
8、你应该保持产品发布时刻的圣洁
*不要抱怨发布日期,当时间不够以前,应提前警告后果
9、你应该贪图开发人员的源代码
*理解错误处理代码,以及哪些输入能触发他们
10、不能假设任何东西
*在我们验证某个缺陷是真之前,不要相信它是真的
*测试时,应该什么都不期待,既不期待他应该发生,也不期待他不应该发生
个人总结:
1、重点关注错误处理代码
*输入过滤器:用于防止错入得输入进入被测试的软件
*输入检查:用于保证软件不会使用错误的输入
*异常处理
*输入类型,输入长度,和边界值
2、应该具备的特点:
*不断超越自己、质量至上、持续教育
*不要为逃脱的缺陷而懊恼,把它们当做是一个学习的机会
对自己的训练:
有趣的观点:
1、软件测试是门学科,不是技艺,也不是艺术,是需要通过训练的;训练的意思是理解学科的每一个细节!
2、在事先不了解如何正确编制软件的情况下,不存在建立一种软件开发方法,让质量更好的可能!
3、评估测试人员,不要用软件缺陷的数量、软件缺陷的严重性、测试用例的多少、自动化测试的代码量、回归测试套件的数目以及任何具体的指标来衡量。测试人员是有责任教育破坏质量的人,哪些行为是错误的,以及如何改进。