- 1. 链接测试
1.1 测试点:
- 是否添加链接
- 链接页面是否存在
- 链接页面与需求是否一致:页面的正确性、打开方式 等
一般,该链接测试在集成测试阶段(页面均开发完成)的时候进行
1.2 测试工具:
-
Xenu Link Sleuth 免费 绿色免安装软件
-
HTML Link Validator 共享(30天试用)
1.3 延伸代码:
测试工具在实际应用时,其实是挺受限的。有时候,需要自己写点小代码去验证,主要用于系统回归。
比如:
1 // 封装判断web链接返回状态是否为2开头的 2 public static void ReadUrl(String surl){ 3 try { 4 URL url = new URL(surl); 5 URLConnection rulConnection = url.openConnection(); 6 HttpURLConnection httpUrlConnection = (HttpURLConnection) rulConnection; 7 httpUrlConnection.setConnectTimeout(300000); 8 httpUrlConnection.setReadTimeout(300000); 9 httpUrlConnection.connect();10 String code = new Integer(httpUrlConnection.getResponseCode()).toString();11 String message = httpUrlConnection.getResponseMessage();12 // System.out.println("getResponseCode code ="+ code);13 // System.out.println("getResponseMessage message ="+ message);14 if(!code.startsWith("2")){15 throw new Exception(surl+"ResponseCode is not begin with 2,code="+code);16 }17 // 打印链接返回状态码18 // System.out.println(getDateTime()+"连接"+surl+"正常");19 }catch(Exception ex){20 // System.out.println(surl+ex.getMessage());21 }22 }23 24 // 封装模拟发起post请求一25 public static String sendPost(String strUrl, String content, String charset) {26 URL httpurl = null;27 HttpURLConnection httpConn = null;28 String returnStr = "";29 PrintWriter outs = null;30 try {31 httpurl = new URL(strUrl);32 httpConn = (HttpURLConnection) httpurl.openConnection();33 httpConn.setRequestMethod( "POST"); // 默认是post34 // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在 http正文内,因此需要设为true, 默认情况下是false; 35 httpConn.setDoOutput( true);36 // 设置是否从httpUrlConnection读入,默认情况下是true;37 httpConn.setDoInput( true);38 httpConn.setRequestProperty( "Content-Type", "text/xml");39 outs = new PrintWriter(httpConn.getOutputStream());40 outs.print(content);41 outs.flush();42 outs.close();43 // 字节流 读取全部内容 包括换行符44 returnStr = inputStreamToString(httpConn.getInputStream(), charset);45 } catch (Exception e) {46 logger.error( "执行HTTP Post请求" + strUrl + "时,发生异常!" , e);47 if(outs != null){48 outs.close();49 outs = null;50 }51 return returnStr;52 } finally {53 if (httpConn != null)54 httpConn.disconnect();55 if(outs != null){56 outs.close();57 outs = null;58 }59 }60 return returnStr;61 }62 63 // 封装读取请求响应的内容64 public static String inputStreamToString(InputStream in,String encoding) throws Exception{ 65 ByteArrayOutputStream outStream = new ByteArrayOutputStream(); 66 byte[] data = new byte[1024]; 67 int count = -1; 68 while((count = in.read(data,0, 1024)) != -1)69 outStream.write(data, 0, count);70 in.close();71 data = null; 72 return new String(outStream.toByteArray(),encoding); 73 }
1 void((function() { 2 var cars=new Array();//定义了数组,最终返回的是列表 3 4 cars=document.getElementsByTagName("a");//获取对应对象 5 /*cars=$("a")*/ 6 for(var i =0;i
- 2. 表单测试
2.1 测试点:
- 默认值
- 必输项
- 输入验证:输入框的特殊文本控制(比如电话、邮箱、url地址等)、长字符、特殊字符、正负数、小数位数等。
- 上传测试:大小、格式类型等
- 表单操作:增删改查,完整性、正确性。
一般,配合下面的数据校验等方面一起测试的,故这里的测试点可能不全。
2.2 测试工具:
WinRunner(QTP)等
先手动检查,后可以用该工具回归了。
2.3 延伸代码:
可以写个简单的js实现
1 void((function(){ 2 var select = document.getElementsByTagName('select'); 3 for(var jj=0;jj
也可以使用代码等,比如selenium等。
- 3. 数据校验
3.1 测试点:
- 配合2的测试,验证表单数据的正确及完整性:单页面、单系统或多系统。
- 数据的增删改查:比如代码任务的计算等
该方面的测试,与每个系统特异性有关,故不全。
3.2 测试工具:同上
3.3 代码延伸
- 4. cookies测试
4.1 测试点:
- 是否使用cookies:根据需求设计,确定是否使用了cookies。比如说需求需要将选择的类目保存到cookie,关闭浏览器然后再试;或者某些不能使用cookie等。
- cookies其他使用需求验证:比如使用 cookie 来统计次数,需要验证次数累计正确。
该方面的测试,与每个系统特异性有关,故不全。
4.2 测试工具:
IECookiesView v1.50
Cookies Manager v1.1
-
5. 数据库测试
5.1 测试点
我目前测试接触到的数据是oracle、mysql。
主要测试数据库的经历是oracle,哎呀,但是换了工作后,好几年不碰了,下次整理了。
- sql语句的性能及优化
5.2 测试工具
使用及测试的工具可能是1个,可能是多个联合
TOAD for Oracle(Mysql)
- 6. 应用程序特定的功能需求
深刻理解需求说明文档
比如
- 与第三平台之间的交互等
- session测试:同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功等。
- 7. 控件等技术应用测试
7.1 测试点
- 是否满足使用需求
- 界面显示是否正常
- 控件的正确性:多种操作后是否正常等