软件测试作业(一)

说起程序中的bug,真是一个令所有程序员深恶痛绝的东西,然而大部分都是源于接触少,缺乏经验。

在上学期javaWeb大作业中,在写一个jsp的时候,由于一个button的功能是提交,于是把这个button的name赋值为submit,然而这个值和jsp中form(表单)的提交函数重名了。

部分代码如下

1 <p align="center">
2 <input type="button" class="btn btn-success " value="submit" name="B1" onclick="LoginSubmit()">
3 <input type="reset"  class="btn btn-info" value="重置" name="B2">
4 <input type="button" class="btn btn-primary"  value="注册" name="B3" onclick="location.href='register.jsp'">
5 </p>

这就导致了在javascript部分写LoginSubmit()函数的时候出现了严重的bug。部分代码如下。

 1 function LoginSubmit(){
 2             var user=document.Login.loginName.value;
 3             var pass=document.Login.password.value;
 4             var authcode=document.Login.authcode.value;
 5             //var regu= /^[a-zA-Z][a-zA-Z0-9]{0,24}$/;
 6             var id=document.Login.id.value;
 7             if(user==null||user==""){
 8                  alert("请填写用户名");
 9                 
10             }
11             else if(pass==null||pass==""){
12                  alert("请填写密码");
13                  
14             }
15             else if(authcode==null||authcode==""){
16                  alert("请输入验证码");
17                  
18             }
19             else if(id==null||id==""){
20                  alert("请选择身份");
21             }
22             else 
23                 document.Login.submit();
24         }

这时表单提交的时候调用的并不是提交函数submit(),而是叫submit()的这个button,最后的结果就是,在网页中不管怎么按那个提交按钮都是无效的。

这个bug困扰了我一晚上,在第二天才突然想到是因为命名不规范才导致这样的结果,如果是有经验的开发人员应该不会犯这种低级的错误。

原文地址:https://www.cnblogs.com/tiny-home/p/5248974.html