记一次曾经项目中遇到的错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次曾经项目中遇到的错误相关的知识,希望对你有一定的参考价值。

曾经项目中遇到的错误:

java大项目中编写一个简单的网上银行系统,其中有一个转账功能,转账金额不超过50元,手续费在本人账户中扣除0.1%。

在测试的时候,用了这几个情况去测试:

1、转账输入20(默认单位都是元)

2、输入—30

3、输入0

4、输入30.56

5、输入字母ab

6、输入600(账户余额是300)

7、输入70

 

在数据库中查看账户金额变化,根据执行结果与预期的比较,测试结果如下:

1正确;2、3、6、7都是预期结果不合理;4、5导致了系统崩溃

 

分析原因:

1、对于2、3、7这三种错误情况,首先对于数字输入的范围没有控制,应该判断输入的金额数值范围在大于0和不超过50,如果不在范围内则跳出提示;

 2、 对于6这种情况,在后台修改数据库中金额之前,先预算一下看是不是余额不足,如果余额足够,在修改数据库,如果余额不足则跳出提示不执行操作;

3、对于4情况,可能是数据库类型定义整数,或者前后台传值部分定义的整数,所以带小数的无法处理。

4、对于5这种情况,应该提示不符合格式,应该在前端用js控制输入,或者后台增加异常处理。

 

错误造成的影响:

2、3、6、7得到了不合理的结果,比如转账是负数,以及余额变成负数、转账金额是0之类的不合理的结果。4、5则因为异常直接导致了系统的崩溃。

 

怎么去检测错误处:

1、根据功能需要设计几个不重复的不同种类的测试案例;2、判断测试案例执行结果是否符合预期;如果不符合,分析原因;3、找可能错误的地方,设断点;4、设置函数向控制台传数据,判断相应的可疑语句是否以及是否正确地修改了数据库;5、结合网页提示的错误;6、修改程序,再次重复以上步骤知道测试案例都符合预期。

 

解决建议:

可以后台增加异常处理,但是在前台判断更好,前台用js判断输入格式,好处一个是数据不用传到后台就可以判断提高了速度,二是减少了后台代码复杂度,三是可以更好的提示,页面美观使用感受更好,更有软件友好度

 

结合这次经历与软件测试的体会:

测试案例的设计要设计不同情况,同一种的可以不重复。软件测试很有必要,否则容易出现异常崩溃但是作者还不知道。软件测试中掌握一定得方式和方法会提高有效性和效率。在软件测试方面我们缺乏专业性的知识,目前还是主要靠经验。我们还需要学习专业的软件测试方法。

以上是关于记一次曾经项目中遇到的错误的主要内容,如果未能解决你的问题,请参考以下文章

记一次坑爹的ORA-01152&ORA-01110错误

记一次项目部署中遇到的问题

记一次SignalR的部署错误问题

记一次项目中遇到的git问题

记一次若依微服务版mybatis升级mybatis-plus之后遇到的坑

记一次400错误引发的血案(URL中特殊符号的转义/400 bad request错误)