即将要离开现在的公司了,不知道下一个地方又将充满着一些什么在等待。。。。。。
现在项目即将要交付给真实的用户使用了,兄弟们每天都在进行一些修修补补的工作,这里我记录下来一些开发中学到的为系统的输入项添加限制条件的经验,便于以后时不时的翻一翻
对输入的长度的限制
<input type=text name="contractID" style="width=50%" maxlength="100"/>
通过JAVA的方法在JSP中首先获取相关的值以及执行相关的函数
<%
try {
AccessControl control = AccessControl.getInstance();
control.checkManagerAccess(request,response);
String contractID = null;
String contractName = null;
//System.out.println("aaaaaaaaa");
String action = request.getParameter("action");
System.out.println(action);
//新增
if ("add".equals(action)){
contractID = request.getParameter("contractID");
contractName = request.getParameter("contractName");
ContractManager contractManager = new ContractManager();
ContractBean bean = new ContractBean();
bean.setId(contractID);
bean.setContract_name(contractName);
contractManager.addContract(bean);
}
<script. language="JavaScript"
src="<%=request.getContextPath()%>/sysmanager/jobmanager/common.js"
type="text/javascript"></script>
//
if ("update".equals(action)){
contractID = request.getParameter("contractID");
contractName = request.getParameter("contractName");
ContractManager contractManager = new ContractManager();
ContractBean bean = new ContractBean();
bean.setId(contractID);
bean.setContract_name(contractName);
contractManager.updateContract(bean);
}
%>
js实现限制条件的函数
<SCRIPT. LANGUAGE="JavaScript">
function saveContract() {
var form. = document.forms[0];
if (form.ContractNumber.value.length < 1 || form.ContractNumber.value.replace(/\s/g,"")=="") {
alert("合同编号必须填写");
form.ContractNumber.focus();
return;
}
if (form.ProjectCode.value.length != 5 ){
alert("projCode length is 5");
form.ProjectCode.focus();
return;
}
js实现限制填入的必须为数字
if (!is_number(ProjectCode)){
alert("项目编号必须为数字!");
document.getElementById("ProjectCode").focus();
return;
}
var account_id = "<%=account_id %>";
if (checkIsNotEmpty(rtn) ){
var ss=rtn.split(":");
document.getElementById("ProjectName").readOnly=true;//false
document.getElementById("ProjectName").value = ss[1];
document.getElementById("CustomerName").focus();
} else{
document.getElementById("ProjectName").readOnly=false;//false
document.getElementById("ProjectName").value="";//false
document.getElementById("ProjectName").focus();
return ;
}
if (!checkIsNotEmpty(ContractMoneys[i].value) ){
alert("合同应回金额不能为空!");
roleform.ContractMoneys[i].focus();
return false;
}
关于隐藏域的应用
<input name="ContractAskDates" type="hidden"/>
document.getElementsByName("ContractAskDates").value
这样就可以解决我们平常需要使用一些数据,需要把它们暂时放在页面上但是又不想给用户看到的问题了。
在这次开发的过程中,我深刻的感受到有编程的基础对于测试的帮助作用是很有力度的。当我们发现一些问题的时候,对于我们的一些问题的定义,与开发的沟通都是很有帮助的。
同时,有一定的编程基础,对于测试来说,也能够更好的设计用例去发现一些程序员留下的后门问题。(呵呵,我们这次在编写的过程中就留有很多的一些后门,但是我们明白,测试人员一般情况下是发现不了这样的问题的)程序员留下的后门,在系统做演示的时候是发现不了,因为做演示的都是我们自己,我们用的数据都是我们之前测试通过的,但系统中埋下的隐患就如同千年虫一样,随时都有可能给真正的用户遇到,如果作为测试人员在做黑盒的情况下,发现的可能性是比较小的。这个时候就要提升测试人员的水平,进行白盒测试。同时,做白盒测试的时候,我认为也需要有丰富的黑盒作为基础。也就是要有很强的测试思想,不然一样的也是开发人员做了什么就测什么,最多只是关注了这个需求实现的必要性,换言之,就是对照需求的可追溯性进行了一次审计。但这个是不够的,为什么说好的测试会成为好的开发,好的开发不一定就一定成为好的测试,原因就在于,好的测试,有好的思想,在做白盒,代码级测试的时候,会想的更全面一些(对于系统的实现方面,暂隔离技术难度),而开发则更多关注于技术使用的先进度。
最后,我非常感谢这一次的开发经历,让我学到了很多,拾起了很多,对我以后的测试发展或者软件职业发展道路,增添了一块着实丰厚的大砖~~~
零零散散,絮絮叨叨,有点乱,希望您能不吝赐教,QQ:75587880随时恭候~~~(备注51testing)