Requirements:Briefly describe an error from your past projects that you have recently completed or an error from other projects which impress you most. State the reason, impact of the error and how did you find it.
1.错误及分析:之前在Hackerrank上做30 Days of Code 任务的时候,练习数据类型这一主题时,有一个题目其中一个要求是将两个double型数据相加,输出其和。本来是很简单的题目,却总有一个测试用例过不去,显示错误。后来发现是因为那个测试用例是12.0和6.0相加,加出来的结果自动省略小数点后的0,得到18,而非题目所要求的18.0。也就是说要想办法使得得出的结果保留小数点后一位。
2.解决方法:经过查找各种资料、围观讨论区用户贴出的各种问题,发现有一个函数setprecision()可以设置输出时结果的精度。
3.代码修改: cout << b + d << endl; —> cout << fixed << setprecision(1) << b + d << endl;
4.影响:虽然并不是什么大的程序项目,但是这样一个小小的问题确实也是对结果的展示造成了一定的影响。
5.心得体会:软件测试在软件开发和代码编写中具有非常重要的作用,不经过详细周密的测试,程序就还可能会有潜在的漏洞和错误。所以,测试用例的设计也需要经过精细的思考,确保测试到了所有可能发生的情况,使得其覆盖面尽可能广。目前,由于我在软件测试方面还缺乏专业性的知识,所以主要还是靠以往的经验或者是请教大神,找错也是瞎猫捉死耗子。所以,软件测试这门课程是非常重要和必要的。