本文的兼容性测试仅限于----被测软件与用户使用环境的兼容性
微观测试环境和宏观测试环境的定义:
宏观测试环境:自上而下的用户操作习惯和粗粒度(软件层)的兼容性。
微观测试环境:自下而上的测试环境和细粒度(函数级)的兼容性。
为什么在实验室中做了兼容性测试没有问题,而在用户使用环境会出兼容性问题,且重回到实验室中很难重现。因为实验室中的兼容性测试是属于宏观测试环境的粒度,是以整个软件黑盒作为兼容性的交互粒度,实际测试软件在交互时只是对主要特性的主要函数进行了验证,而某些特性和函数及函数的某些返回值并没有覆盖到。相当于这部分函数和代码没有测试和防护罩的情况下就发布给用户在实际环境中运行了。
而用户的使用环境并不是单纯的干净的函数环境,用户长期运行后的软件环境看似与实验室的宏观测试环境一样(我们模拟的只是宏观测试环境),实际上用户的微观环境已经发生了变化(有些内部资源已经腐化,有些内部调用状态有些混乱),最终出现用户的微观环境返回的值或函数调用成功率并不和宏观测试环境一样,导致触发了一些新的分支路径和异常路径,而我们在实验室中很想象到这些微观环境中会触发的分支路径和异常路径,从而导致我们的质量保障测试很被动。
因此我们在现有宏观测试环境的基础上,还应该逐渐补充微观测试环境的测试,减少我们在质量保障测试中的被动局面,而这有耐于测试人员加强基于IT失效模式和技术的积累,我曾提出的基于缺陷的测试技术架构,就是一种参考的测试架构(可通过我的新浪微博http://weibo.com/dongjietest 找到并下载)
下面是运用微观测试环境导致google浏览器崩溃,firefox浏览器崩溃,360浏览器崩溃,QQ客户端崩溃,阿里旺旺崩溃的演示视频:
http://www.tudou.com/programs/view/Qa1ZLLqv6Ww/
http://www.tudou.com/programs/view/RLqeR_zhJcA/
http://www.tudou.com/programs/view/CHOa1_T2fA4/
http://www.tudou.com/programs/view/a7B7ZVPU9vg/
http://www.tudou.com/programs/view/b9NLoWbN-cg/
版权声明:本文出自 架构师Jack 的51Testing软件测试博客:http://www.51testing.com/?293557
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。