码迷,mamicode.com
首页 > 其他好文 > 详细

【软件测试第一次作业】软件测试的开始——从过去的错误中寻求反思

时间:2018-03-11 21:00:04      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:src   submit   逻辑   允许   部分   电影院   软件   bug   反思   

  这些日子刚开始学习软件测试,借作业为由,从我过去的debug生涯中找找过去的错误,增强一下新的理解。

  之前没学过软件测试的理论,debug也没什么必要的逻辑,既便称之为碰运气也“不遑多让”。如下的一个bug就是一个例子。

                 技术分享图片

  这是之前在学习前端开发时写的一个简单的验证系统,目的是为了帮助电影院检票,验证购买者的姓名、邮件和电话。这个功能看起来似乎很简单,却在运行过程中发现了一个问题。

  就是即使姓名,email,和phone number都已经提醒不符合规范,但是点击check的时候,该表单依然被提交上去了。

  但是我的button在onclick的函数的逻辑是绝对没有问题的

function checkAll(){
    if (checkName()==true&&checkEmail()==true&&checkPhoneNum()==true) {
        var form = document.getElementById(wrapper-form);
        form.submit();
        return true;
    }else{
        alert("Dear Custome, please fix your mistakes.");
        return false;
    }
}

  上述js的代码没有逻辑问题,但是除非三个文本框内的内容都不符合规范才不能提交,其余方式都可以提交。

  我再明确了没有逻辑错误后,就开始看问题之所在。最后发现问题并不在逻辑上,而在HTML上。

<div class="loginBoxButtons">
    <button  class="loginBtn" onClick="checkAll();">Check</button>
</div>

  然后我最后发现了问题,button在form中默认情况下的type是submit。在这种情况下会在无视button原有的限制函数的情况下直接自动提交表格。

  这个错误的影响就是button会一直允许各种莫名其妙的电话号码和邮箱提交消息,如果真的上线,会造成恶劣的影响。

  我就在该button相关的html,js和php代码中寻找问题,在js中各处alert信息来看哪几部分运行成功,最后发现无论在何种情况下表单都会自动提交,最终我改写了js的相关写法,解决了bug。

 

【软件测试第一次作业】软件测试的开始——从过去的错误中寻求反思

标签:src   submit   逻辑   允许   部分   电影院   软件   bug   反思   

原文地址:https://www.cnblogs.com/hanmo/p/8545378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!