软件测试作业1 — 令我印象最深的BUG

      学习编程已经将近三年,编程过程中最让人头疼的就是程序中的BUG,影响程序的正常运行不说,调试过程真的是让人几近崩溃,这里介绍一下令我印象最深的一个BUG。

      大三上学期,在学习《WEB开发》课程的时候,有一次的课后作业是编写一个网页版的4x4拼图游戏,主要是用到html和javascript方面的知识,一个比较简单的小程序。我是通过数组的方式来实现主要思想就是将拼图游戏中的固定位置作为数组的下标(例如:第一行第一列的位置代表array[0],第二行第一列的位置记为array[4]),数组中的每个元素为图片的名字(为了简单起见,我将16张图片分别命名为1.jpg...16.jpg,16.jpg为空白图片),在进行交换时,判断该位置的数组元素的上下左右四个位置是否有16.jpg,如有可以交换,否则不能交换。到此一切进行还算顺利......

     后来问题来了......拼图游戏大家都玩过,有一个计算步数的功能,看游戏玩家可以在多少步之内将拼图复原。我的程序也有这个功能,但是BUG就在这里,每次我点击图片,无论是否交换成功,步数都会增加。这显然不对啊,于是检查代码,在图片的click()事件中发现了问题,原来程序是每点击一下图片,变量(统计步数)的值就加1,所以造成无论是否交换成功,步数都会增加......

     解决办法也很简单,增加步数只在交换成功时发生,即将x=x+1放到if语句之下,满足条件方才加1。

 

     代码文件在此,感兴趣可以下载(∩_∩)O(∩_∩):https://files.cnblogs.com/files/liuleilei/%E6%8B%BC%E5%9B%BE%E6%B8%B8%E6%88%8F.zip

posted @ 2017-02-25 11:35  ProQianXiao  阅读(6254)  评论(0编辑  收藏  举报