项目提测心得

这周忙着测试功能并对照需求更改,由于开发是在windows下的tomcat6.x作为运行环境,而真正的服务器环境是Linux下的WebSphere服务器。

系统的差别会导致如下问题:

1、获取某个文件夹下面的文件的集合的顺序不用,这会让本来在window下run正常的代码放到Linux下不正常

2、调用API时调用底层方法时得到的结果会有不同

linux系统将war包作为文件夹一样的东西可以直接打开,这样获得项目绝对路径时就会是ProjectName.war/imag,而在windows下是ProjectName/imag,如果想利用项目绝对根路径去截取相对路径时就会失败,因为原来的没有“.war”后缀,这时需要调用其他API方法,可以使用ServletActionContext.getServletContext().getRealPath("/");得到项目根路径的绝对路径了

3、最显著的区别在于文件目录分隔符,windows:“\“ ;linux:”/“

在使用分割符使用File.separator可以根据系统来确定使用哪个分隔符


4、环境的不同会导致一些底层实现上有所不用,比如替换jdk也会导致一些奇怪的问题,而且debug就正常了,很难找到原因,可以尝试使用更高版本,希望高版本可以解决这些奇怪的问题,比如项目中使用的jdk就是从sun的替换为了IBM,这导致了Lucene2.4查询不稳定,只要相近查询多次就会出现查询不出来的情况,并且得分为0,替换为2.9也不会出现该问题,最后使用3.6.2解决了相近查询多次后查询不出结果,但是得分依然会是0,这回导致查询结果顺序不对,但是在Linux下却没有出现任何问题,一切正常,其中的原因还没时间找出来,祈祷没有问题就ok。

5、熟悉了前台的jQuery和artDialog弹出窗组件、日期控件My97

6、前台js函数出现递归死循环时需要抽离方法


测试部提的bug有很多都是一些小的细节,我很无奈,比如一些提示文字上都会锱铢必较,还有一些bug其实它们内部是一个问题导致的,这轮提测有点慌乱,很多东西自己感觉也有问题,但是实在没时间该,都在忙功能是否能实现的问题,根本不会想一些细节问题。

你可能感兴趣的:(java,Linux,windows,Lucene)