软件测试第一次作 业——记录一次bug

时间:2022-02-17 16:39:54

  在大三上学期做信息可视化课程的一次作业时,我需要将一个数组里的数据排序并找到最大值。我当时用了可视化函数包d3提供的寻找最大值函数,并且将最大值输出在了控制台。当我进行测试时,发现输出在控制台的数据并不是我测试用例中的最大值,但是也不是最小值,而是看似无迹可寻的一个数据。我进行了多组数据,有的能正确输出最大值,有的不能。

  我对测试用例与各组测试用例输出的结果进行了比较与分析,发现能正确输出最大值的那些用例数组中存的位数相同的,而不能正确输出的那些用例中存的数据位数不同,并且输出的都是低位数据中的最大值,这个结果让我想起了字符串的比较大小,即由字符串的字符顺序从左至右比较,而不是我所期望的由右向左比较。于是我仔细检查了我的数组赋值语句。果然,我的数组的数据是由csv文件中提取出来的,它们在csv文件中以字符串形式储存,而js中的数组声明时并不限制数组内的数据类型。

  检查出问题后,我在提取出数据与赋给数组的过程之间添加了一个数据类型转化的过程,解决了这一问题。