技术文章

功能测试——链接测试&脚本功能

链接测试

对于页面链接功能,测试工程师需考虑其链接文字描述正确性、链接地址跳转正确性、链接触发脚本正确性、是否存在404错误等。

如果是小型Web系统,链接较少,人工测试即可,如果被测对象包含很多链接,则可利用Xenu链接测试工具进行。

【案例1 ECShop链接测试】

Xenu是测试工程师应用较多的链接测试工具,小巧、便捷。可以对本地网页文件测试链接,也可以输入任何公网网站进行测试。测试完成后自动生成测试报告,如果链接存在错误,Xenu用红色显示,如图1所示。

脚本功能

图1 Xenu链接测试

执行完成后,Xenu给出测试结果,如图2所示,共计验证了6479个链接,发现了9个错误。

脚本功能

图2 ECShop链接测试错误列表

脚本功能

为了实现一些特殊的效果或功能,系统往往会使用JavaScript、VBScript脚本编程技术。例如,动态的验证、特殊的展示效果,在测试过程中需进行此类效果或功能的测试,以检验相关脚本的正确性,同时需考虑它们是否有兼容性问题。

【案例2 ECShop脚本功能测试】

ECShop用户注册功能的初始页面如图3所示。

脚本功能

图3 用户注册初始页面

默认情况下,用户注册页面仅标识出相关输入区域必填(以红色*表示),当“用户名”不输入,光标切换到“email”时,将触发输入合法性判断的JavaScript脚本。

<script type="text/javascript">

var process_request = "正在处理您的请求...";

var username_empty = "- 用户名不能为空。";

var username_shorter = "- 用户名长度不能少于 3 个字符。";

var username_invalid = "- 用户名只能是由字母数字以及下划线组成。";

var password_empty = "- 登陆密码不能为空。";

var password_shorter = "- 登陆密码不能少于 6 个字符。";

var confirm_password_invalid = "- 两次输入密码不一致";

var email_empty = "- Email 为空";

var email_invalid = "- Email 不是合法的地址";

var agreement = "- 您没有接受协议";

var msn_invalid = "- msn地址不是一个有效的邮件地址";

var qq_invalid = "- QQ号码不是一个有效的号码";

var home_phone_invalid = "- 家庭电话不是一个有效号码";

var office_phone_invalid = "- 办公电话不是一个有效号码";

var mobile_phone_invalid = "- 手机号码不是一个有效号码";

var msg_un_blank = "* 用户名不能为空";

var msg_un_length = "* 用户名最长不得超过7个汉字";

var msg_un_format = "* 用户名含有非法字符";

var msg_un_registered = "* 用户名已经存在,请重新输入";

var msg_can_rg = "* 可以注册";

var msg_email_blank = "* 邮件地址不能为空";

var msg_email_registered = "* 邮箱已存在,请重新输入";

var msg_email_format = "* 邮件地址不合法";

var msg_blank = "不能为空";

var no_select_question = "- 您没有完成密码提示问题的操作";

var passwd_balnk = "- 密码中不能包含空格";

var username_exist = "用户名 %s 已经存在";

</script>

对应的界面效果如图4 所示。

脚本功能

图4 焦点切换后触发脚本判断

测试工程师在执行测试应当深入了解被测对象,了解每个操作的背后知识,这样才能发现更深层次的缺陷。

文件上传下载

业务系统中可能会使用一些文件上传下载的控件,如图5所示。对于此类控件,测试时需考虑文件上传格式、上传内容、上传后能否正确打开、上传过程中如果出现异常是否有信息提示。对于文件下载则需考虑下载的文件能否正确打开使用、下载过程中能否中断、中断后可否续传、下载保存的文件名是否正确等。通常情况,此类控件会使用比较成熟的功能组件,因此测试难度相对较小。

脚本功能

图5 商品图片上传功能

如果上传完成后存在预览功能,测试工程师应当验证该预览是否实现,并且预览的图片是否清晰,软件系统如果对上传的图片进行压缩,测试工程师需保证压缩后的照片清晰可用,笔者在实际工作中曾碰到App将图片压缩后清晰度不够,导致无法通过系统验证,需重试很多次才符合,这样的设计对用户来说是极其糟糕的。