发布新日志

  • 测试音乐播放器时发现的一个逻辑错误

    2007-11-28 11:10:15

    今天是测试音乐播放器的最后一天,经过两天的测试修改,前面发现的问题都已经解决的差不多了,原打算上午就再做一次回归测试,如果没什么问题,下午就可以准备发布了。

    可是上午测试的时候竟然发现了一个比较严重的逻辑问题。其实这个问题之前就已经发现,只是因为当时测试的时候没有发生异常,就被开发人员给忽悠了,他还义正词严的说逻辑没问题。

    现在把测试的问题详细描述一下:

    操作步骤:

        播放器根据播放列表播放歌曲,状态是播放器正在播放过程中,然后我清空当前的播放列表,再重新添加歌曲,建立新的播放列表。

    期望的结果:

        播放器播放完当前的歌曲后,按照新的播放列表继续播放,从新列表的第一首开始顺序播放。

    实际结果:

        播放列表根据前一个列表的顺序,播放新列表中的歌曲,举例说明:比如播放器现在播放的是前一个列表中的第一首歌曲,那当这首歌播放完毕后,播放器会继续播放新列表中的第二首歌曲,而不是从第一首歌曲开始播放,同理,如果播放的是前一个列表中的第n首歌,那下一个播放的就是新列表中的第n+1首歌曲。

    异常情况:

        当前一个列表的长度〉=新列表的长度时,播放器就无法继续播放新列表,而是出现播放结束时的推荐歌曲页面,举例说明:如果当前播放的是旧列表中的第5首歌曲,而新列表只有五首或者少于五首歌曲,那播放下一首的时候,播放器根据程序是要播放新列表中的第六首歌曲,这时播放器就无法播放新的列表了。

    错误原因:

        播放器读取的参数是列表中的歌曲ID,比如列表长度为6,第一首歌曲的id=1,第二首歌曲的id=2,以此类推,当清空列表重新添加歌曲时,播放列表的数组被清空,再将新添加的歌曲重新排列,即新的列表中,第一首歌曲id=1,第二首歌曲的id=2,以此类推。但是清空列表的时候,由于正在播放中,播放队列并没有清空,此时播放的歌曲的id仍为旧列表中的id值,于是按照播放顺序,下一首就为当前id+1的歌曲,即新列表中的第id+1首歌。

    建议:

        在播放歌曲时作一个判断,即如果清空了列表,播放的id也要重新排列。

    现在这个问题可让开发人员大伤脑筋啊,又要重新讨论这个逻辑了。

     

我的栏目

我的存档

数据统计

  • 访问量: 2205
  • 日志数: 1
  • 建立时间: 2007-11-28
  • 更新时间: 2007-11-28

RSS订阅

Open Toolbar