所谓兼容性测试就是指把以前能顺利运行在老平台上的软件拿来在新的平台上进行测试,看是否以前的功能也正常的一种测试,兼容性往往会兼容三年之内的产品,再多一般就很少考虑兼容性了,原因大多缘于软件的生命周期一般就是三年左右,过了三年,再维护那就得重新收费了!其实楼主本人认为还有一个其它的原因:那就是软件版本跨度功能变化和实现方式太大,成本太高,再把精力投在兼容性开发上,有所不值!
首先,兼容性测试其实是一件枯燥的事,因为要测试的同类软件太多,所以导致很多测试用例不断的重复执行,把时间都耗费在这上面了;不过还好,再过一阵,就可以用自动化来完成这些重复繁琐的工作了;
其次,在兼容性测试中,其实会测出一些隐藏较深;或者版本之间因为功能实现的标准不一致,造成在老版本的软件在新平台中功能无法正常使用的的Bug;同时还有一类在老版本中用老的接口,而新版本中开发了新的接口,从而导致功能不兼容的软件;
最后,软件测试及兼容性测试的意义,并不只是在于发现Bug,解决Bug,而最重要的是怎么根据发现的Bug对软件的Bug进行分析统计,而进一步根据分析统计的结论制订出更完善的策略,并把这些策略应用于新的版本之中,或者把新的解决问题的办法固化到FAQ里面;最常见的策略有:
(1)对版本中发现的重大问题或网上严重问题进行回溯,或对发现的问题在上一版本中解决而在此版本中又出现的问题进行回溯(回溯其实对责任人来说是件痛苦的事,往往回溯会与个人的绩效考核放在一起);
(2)对所有Bug进行分类整理,并对同类问题进行归类,总结,看到底问题是怎么引入的;
(3)对于分析后是由于漏测的原因,那么得重新补充测试用例,如果是其它原因,找出最终原因,有针对性的解决;
(4)对于解决Bug的方法,形成FAQ,以供后来者使用。
往往在测试中有一些问题无法解决,这一类问题即是:在测试过程中偶然出现(几乎无法重现),但是又定位不到原因的问题,这类问题的解决办法一般是把单子挂上,如果在版本中三个月或者半年再没出现过,那么把问题单关闭!