Ⅰ 我想用手机测试自己写的web页面,该怎么做
一、IOS 移动端 (Safari开发者工具)
手机端:设置 → Safari → 高级 → Web 检查器 → 开。
mac端:Safari → 偏好设置 → 高级 → 在菜单栏中显示“开发”菜单。
在 OS X 中启动 Safari 之后,以 USB 电缆正常接入 iOS 设备,并在此移动设备上启动 Safari。此时点击计算机上的 Safari 菜单中的“开发”,可以看到有 iOS 设备的名称显示,其子菜单项即为移动设备上 Safari 的所有标签页,点击任意一个开始调试。
便捷,简单,还可以调试外壳包裹的浏览器如微信。
备注:顺便提一下,要调试不同版本的ios,可以进xcode 进行下载不同的系统包(当然是在没有设备的情况下,土豪略过)
二、安卓移动端
1、chrome 调试方法
首先确保手机上和PC机上装有最新版本的chrome浏览器,其次是将手机的开发者选项打开并允许调试,然后将数据线将两台设备连接起来。在PC机上打开chorme,输入chrome://inspect ,然后在手机上打开chrome,然后手机会弹框询问是否允许调试,当然确定啦。有时候手机锁屏会断开,请拔掉usb重来。
点击inspect打开DevTools后,你可以选中页面中的DOM元素,同时设备中对应元素也高亮显示,也可使用DevTools中的Inspect Element 选中目标元素,可以实时与移动设备页面交互,方便的定位问题所在,进行代码调试,就能像pc端一样愉快的玩耍了。如果有问题,请检查chrome版本。
作者:爱吃西红柿的鱼
链接:http://www.hu.com/question/37361845/answer/71674280
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
chrome的调试一般只可以调试chrome页面,但是其官方文档说还可以调试WebViews:
“On your computer, the chrome://inspect page displays every connected device, along with its open tabs and debug-enabled WebViews.”
需要说明调试WebView需要满足安卓系统版本为Android 4.4+,并且需要再你的APP内配置相应的代码,在WebView类中调用静态方法,如下:
if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT) {
WebView.(true);
}
以上配置方法适用于安卓应用内所有的WebView情形。
安卓WebView是否可调试并不取决于应用中manifest的标志变量debuggable,如果你想只在debuggable为true时候允许WebView远程调试,请使用以下代码段:
if (Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT) {
if (0 != (getApplicationInfo().flags &=ApplicationInfo.FLAG_DEBUGGABLE{
WebView.(true);
}
}
我这里只写了个大概,如果有其他问题或者欲查看详细文档,看下面链接(自备梯子):
https://developer.chrome.com/devtools/docs/remote-debugging
注意:同样的你也可以在电脑上装安卓的虚拟机,推荐Genymotion ,一样的,想测什么版本,就自己下rom ,当然土豪当我没说。
2、UC开发者浏览器
由于不推荐移动端使用UC(大家应该自觉抵制移动端毒瘤),所以我只简单说一下,如果是在有兴趣,请自行查看: 开发者中心_UC优视︱UC浏览器︱全球第一大手机浏览器,用户超过5亿人︱手机浏览器
它的调试方法与chrome差异不大。
3、使用 Weinre 调试
该方法是比较老的一种方法,对于其他的调试方法来说属于刀耕火种型的。weinre是一个调试包,本身提供一个JavaScript,需要你在项目文件中加入该js。首先安装Weinre,我们用nodejs安装之,使用-g全局命令,以便可以在各个目录下访问:
npm install -g weinre
安装weinre之后再设置监听本机的ip:
然后打开返回的地址的说明文档,然后把返回的js写入到调试的文档中,注意我箭头所指向的地方。
这样访问页面的时候,加载这个 JS,就会被 Weinre 监听到进行控制。
小提示:这个 JS 后面的 #anonymous 起到一个标识作用,为了区别,我们可以将其修改成 #test 放到页面中。这时候,我们的 Inspect 面板的地址就不是 http://172.16.0.2:8080/client/#anonymous 了,而是 http://172.16.0.2:8080/client/#test 。
当我们访问页面的时候,就会出现在监听列表中,如果有多个网页,你可以从列表中选择一个。然后就可以使用后面的 Elements、Console 等面板来进行调试操作了:
Weinre 非常灵活,只需要在页面中加载这个 JS,然后访问即可,因此 WebView 可以用这种方法调试,一些低版本的 Android、iOS 也可以支持,Window Phone 也是可以用的。在调试移动设备时你可能需要在本地搭建一个局域网 IP 的服务器,将设备与本机网络连接成一个局域网,用移动设备访问这个网页即可。
当然 Weinre 也不是万能的,相比 Chrome 的调试工具,它缺少 JavaScript debug 以及 Profiles 等常用功能,但是它兼容性强,可以实现基础调试功能。
4、mihtool 测试
MIHTool 是国人开发的,基于 Weinre,用于 iOS 设备的前端开发测试。
与Weinre 的调试方式大体一样,即开启一个服务器,然后将 JS 插入到页面中,访问进行调试。
MIHTool 将这个过程简化了,它是一个 APP,可以直接安装到你的 iOS 设备里面,然后内置一个简单的浏览器可以打开你的测试页面,当它开启时,会自动向页面中插入 Weinre 的 JS,并告知 Weinre 控制台 URL 等信息,让你可以访问进行调试。
它还提供了一个公共的 Weinre 调试服务,生成类似 MIHTool Web Inspector 这样的链接,打开即可调试,非常方便,就是有些卡。
5、移动设备在线测试
移动端设备如此之多,小公司或者团队,没有这么多资金和精力购买如此多的测试设备进行测试。于是就有人买了这些设备,连接起来,提供在线调试服务。
一般就是他的真实手机设备打开,然后截屏出来供预览。
比如:BrowserStack 等,当然一般比较卡。
三、总结
调试方法很多,层出不穷,关键是要看自己是否顺手和熟练,关键在于按时按量的完成开发任务。
关键在于平时多积累跨坑姿势,少写一点不兼容的代码,调试就舒心一点。
如果这还不满足的话,可以查看更多资料:
移动端前端开发调试: http://yujiangshui.com/multidevice-frontend-debug/
移动开发真机调试: 移动开发真机调试
remote_inspect_web_on_real_device: jieyou/remote_inspect_web_on_real_device · GitHub
remote-debugging: https://developer.chrome.com/devtools/docs/remote-debugging
移动端Web开发调试之Chrome远程调试(Remote Debugging):移动端Web开发调试之Chrome远程调试(Remote Debugging)
------------2015/12/2 补充 BrowserSync 部分-------------
很多朋友再说为什么不写Browser-sync,还有给差评的,说实话吧,我之前不了解那个东西。花了点时间看了一下,找到了他们的官网:Browsersync - Time-saving synchronised browser testing 觉得还挺有趣的哈。
然后就用了,觉得还行,真的会省很多工夫,入门也快,差不多就5分钟快速入门,前端的轮子都这样。。。
1、首先安装 BrowserSync
npm install -g browser-sync
2、启动 BrowserSync,原理应该是那种检测文件变化,然后在服务端 websocket 通知浏览器变动,再加载新的变动文件,在不支持websocket 的浏览器上就轮训服务端的变化,在加载新文件。我只是简单的抓包看了下,也不知道说对了没有。233
此时分两种情况,一种是静态:
// 监听css文件
browser-sync start --server --files "css/*.css"
// 监听css和html文件
browser-sync start --server --files "css/*.css, *.html"
二种是动态:
// 主机名可以是ip或域名
browser-sync start --proxy "主机名" "css/*.css"
然后就上手了啊,就这么简单。。
还有gulp 配合哦。具体就看文档了:Browsersync + Gulp.js
总结,前端变化日新月异,一个月不学,感觉就落后了啊
-----------------我是分割线---------------
这里是 @于江水 大神的原文,之所以圈他一下,因为我的这个文档从他那儿粘贴了很多,这个是他的原文:--> 移动端前端开发调试 。
上面的更多资料部分,我也讲其放在第一个,不过之前的链接放错了,不是原博客链接,现在已更正。
这是我整理的,每一个我都真正的动手实现了的,关于安卓webview的调试部分我还补充了点我找到的资料 --> 移动端前端开发真机调试攻略
Ⅱ 我想用手机测试自己写的web页面,该怎么做
我来说个简单的办法
开发好页面,先用谷歌浏览器的手机屏幕模拟功能看一下
去xampp官网下一下这个软件,在本地建一个简单的服务器,然后把自己的页面放到服务器上打开,你的页面路径应该类似于http://192.168.1.2/xampp/demo/index.html这种样子
打开网络随便输一个二维码生成器,把上面的地址粘进去生成二维码
拿出手机打开微信或其他能扫码的浏览器扫码预览就可以了
想看修改代码后的样子重复第3步和第4步
注意点:你输入的网址前面的ip一定而且肯定是你自己电脑的ip地址,默认的情况下,地址是http://localhost/……,一定记得把localhost替换成你本地的ip,不然你扫码是扫不出来的。
Ⅲ web的功能测试怎样测试
首先,查找需求说明、网站设计等相关文档,分析测试需求。
制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
设计测试用例:
功能性测试可以包括,但不限于以下几个方面:
链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。
提交功能的测试。
多媒体元素是否可以正确加载和显示。
多语言支持是否能够正确显示选择的语言等。
界面测试可以包括但不限于一下几个方面:
页面是否风格统一,美观
页面布局是否合理,重点内容和热点内容是否突出
控件是否正常使用
对于必须但未安装的控件,是否提供自动下载并安装的功能
文字检查
性能测试一般从以下三个方面考虑:
压力测试;负载测试;强度测试
数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。
安全性测试:
基本的登录功能的检查
是否存在溢出错误,导致系统崩溃或者权限泄露
相关开发语言的常见安全性问题检查,例如SQL注入等
如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持
兼容性测试,根据需求说明的内容,确定支持的平台组合:
浏览器的兼容性;
操作系统的兼容性;
软件平台的兼容性;
数据库的兼容性
开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。
定期评审,对测试进行评估和总结,调整测试的内容。
敲黑板!重点:推荐大家使用自动化测试工具TestWriter(测功能、测兼容性、测回归的零编码自动化测试工具 ),吼吼~
Ⅳ 【web测试】界面测试(UI)
简称UI测试,测试功能模块界面上看到的所有元素(包括文字、控件等)颜色风格是否统一,布局是否合理、美观,符合用户习惯等等
核实用户与软件之间的交互,确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能
如:页面基调颜色刺眼;用户登入页面比较难于找到;文字中出现错别字;页面图片范围太广
缺陷影响:用户友好性、人性化、易操作性
进入一个页面测试,首先是检查title、页面排版、字段等,而不是马上进入文本框校验
(1)页面名称title是否正确
(2)文字格式统一性,字体属性是否正确
(3)元素大小是否合适,元素内容是否显示正确、易懂、友好
(4)排版是否整齐,界面元素是否对齐方式统一
(5)列表项显示字段是否齐全,列表项字段名称是否跟表单统一
(6)同一页面,是否出现字段名称相同、值取不同的问题。
(7)数据加载情况。
(1)文案:字体、字号、格式、规范(标题和正文、中英文换行、错别字、大小写、全半角标点);
(2)图片:类型、大小、尺寸、是否变形;
(3)布局:尺寸大小、位置合理、排序规律、对齐方式
(4)控件:对话框、文本框、滑动滚轮、上下微调按钮、选项按钮
(5)快捷键:是否重复、如何切换、是否冲突、和系统常用快捷键冲突、和其他软件快捷键冲突、常用键盘键
Ⅳ Web测试的主要内容和测试方法有哪些
测试分类:
1、界面测试
1)给用户的整体感:舒适感;凭感觉能找到想要找的信息;设计风格是否一致
2)各控件的功能
2、功能测试
1)删除/增加某一项:是否对其他项造成影响,这些影响是否都正确
2)列表默认值检查
3)检查按钮功能是否正确:新建、编辑、删除、关闭、返回、保存、导入、上一页、下一页、页面跳转、重置(常见错误)
4)字符串长度检查:超出长度
5)字符类型检查
6)标点符号检查:空格、各种引号、Enter键
7)特殊字符:常见%、“、”
8)中文字符:是否乱码
9)检查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息与添加信息是否一致
10)信息重复:需唯一信息处,比如重复的名字或ID、重名是否区分大小写、加空格
11)检查删除功能:不选择任何信息,按Delete,看如何处理;选择一个或多个进行删除;多页选、翻页选删除;删除是否有提示
12)检查添加和修改是否一致:添加必填项,修改也该必填;添加为什么类型,修改也该什么类型
13)检查修改重名:修改时把不能重名的项改为已存在的内容
14)重复提交表单:一条已经成功提交的记录,返回后再提交
15)检查多次使用返回键:返回到原来页面,重复多次
16)搜索检查:存在或不存在内容,看搜索结果是否正确;多个搜索条件,同时输入合理和不合理条件;特殊字符
17)输入信息的位置
18)上传下载文件检查:功能是否实现,
上传:上传文件是否能打开、格式要求、系统是否有解释信息、将不能上传的文件格式修改后缀为可上传的文件格式;
下载:下载是否能打开、保存、格式要求
19)必填项检查:必填项未填写;是否有提示,如加*;对必填项提示返回后,焦点是否自动定位到必填项
20)快捷键检查:是否支持快捷键Ctrl+C、Ctrl+V、backspace;对不允许做输入的字段(如:下拉选项),对快捷方式是否也做了限制
21)Enter键检查:输入结束后按Enter键,系统如何处理
22)刷新键检查:按浏览器刷新键如何处理
23)回退键检查:按浏览器回退键如何处理
24)空格检查:输入项输入一个或多个空格
25)输入法半角全角检查:比如,浮点型,输入全角小数点“。”或“. ”,如4. 5;全角空格
26)密码检查:输入加密方式的极限字符;密码尽可能长
27)用户检查:不同种类管理员用户的不同权限,是否可以互相删除、管理、编辑;一般用户的权限;注销功能,老用户注销再注册,是否为新用户
28)系统数据检查:数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。
29)系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可以迅速恢复
30)确认提示检查:系统更新、删除操作:是否有提示、取消操作;提示是否准确;事前、事后提示
31)数据注入检查:对数据库注入,特殊字符,对SQL语句进行破坏
32)时间日期检查:时间、日期、时间验证:日期范围是否符合实际业务;对于不符合实际业务的日期是否有限制
33)多浏览器验证
3、性能测试
1)压力测试:实际破坏一个Web应用系统,测试系统的反应,测试系统的限制和故障恢复能力
2)负载测试:在某一负载级别上的性能,包括某个时刻同时访问Web的用户数量、在线数据处理的数量
3)强度测试:测试对象在性能行为异常或极端条件下(如资源减少或用户过多)的可接受性,以此验证系统软硬件水平
4)数据库容量测试:通过存储过程往数据库表中插入一定数量的数据,看是否能及时显示
5)预期指标的性能测试:在需求分析和设计阶段会提出一些性能指标,对于预先确定的性能要求要首先进行测试
6)独立业务性能测试:对核心业务模块做用户并发测试,包括同一时刻进行完全一样的操作、同一时刻使用完全一样的功能
7)组合业务性能测试:模拟多用户的不同操作,最接近实际用户使用情况,按用户实际的实际使用人数比例来模拟各个模块的组合并发情况
8)疲劳强度性能测试:系统稳定运行情况下,以一定负载压力来长时间运行系统的测试
9)网络性能测试:准确展示带宽、延迟、负载、端口的变化是如何影响用户的相应时间的
10)大数据量性能测试:实时大数据量,模拟用户工作时的实时大数据量;极限状态下的测试,系统使用一段时间,积累一段数据量时能否正常运行,以及对前面两种进行结合
11)服务器性能测试:在进行用户并发性能测试、疲劳强度、大数据量性能测试时,完成对服务器性能的监控,并进行评估
12)一些特殊的测试:配置测试、内存泄漏的一些特殊测试
4、可用性测试(接口测试)
1)整体界面测试
2)多媒体测试
3)导航测试
5、客户端兼容性
平台测试:windows;unix;macintosh;linux
浏览器测试:不同厂商的浏览器对Java、Javascript、ActiveX、plug-ins或不同的HTML的规格
不同的支持;框架和层次结构在不同浏览器也不同的显示
6、安全性
安全性测试要求:
1)能够对密码试探工具进行防范
2)能够防范对Cookie攻击的常用手段
3)敏感数据保证不用明文传输
4)能防范通过文件名猜测和查看html文件内容获取重要信息
5)能保证在网站收到工具后在给定时间内恢复,重要数据丢失不超过1小时
web的性能测试工具:
随着Web2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况。
因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断。
为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括ASP、PHP、JSP等)的响应时间,为服务器的性能优化和调整提供数据依据。
1、企业级自动化测试工具WinRunner
MercuryInteractive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。
2、工业标准级负载测试工具Loadrunner
LoadRunner是一种预测系统行为和性能的负载测试工具
3、全球测试管理系统testdirector
TestDirector是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。
4、功能测试工具RationalRobot
IBMRationalRobot是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。
它集成在测试人员的桌面IBMRationalTestManager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。
这种测试和管理的双重功能是自动化测试的理想开始。
5、单元测试工具xUnit系列
目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。
该测试框架的第一个和最杰出的应用就是由ErichGamma(《设计模式》的作者)和KentBeck(XP(ExtremeProgramming)的创始人)提供的开放源代码的JUnit.
6、功能测试工具SilkTest
BorlandSilkTest2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。
这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。
7、性能测试工具WAS
是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。
透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。
8、自动化白盒测试工具Jtest
Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。
parasoft同时出品的还有C++test,是一款C/C++白盒测试工具。
9、功能和性能测试的工具JMeter
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。
10、性能测试和分析工具WEBLOAD
webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。
(5)web界面加载测试扩展阅读:
漏洞测试
企业网站做的越来越复杂、功能越来越强。不过这些都不是凭空而来的,是通过代码堆积起来的。如果这个代码只供企业内部使用,那么不会带来多大的安全隐患。
但是如果放在互联网上使用的话,则这些为实现特定功能的代码就有可能成为攻击者的目标。
天眼举一个简单的例子。在网页中可以嵌入SQL代码。而攻击者就可以利用这些SQL代码来发动攻击,来获取管理员的密码等等破坏性的动作。
有时候访问某些网站还需要有某些特定的控件。用户在安装这些控件时,其实就有可能在安装一个木马(这可能访问者与被访问者都没有意识到)。
为此在为网站某个特定功能编写代码时,就要主动出击。从编码的设计到编写、到测试,都需要认识到是否存在着安全的漏洞。
天眼在日常过程中,在这方面对于员工提出了很高的要求。各个员工必须对自己所开发的功能负责。
已知的病毒、木马不能够在所开发的插件中有机可乘。通过这层层把关,就可以提高代码编写的安全性。
Ⅵ Web测试的主要内容和测试方法有哪些
1功能测试 2 1.1链接测试 2 1.2表单测试 2 1.3数据校验 3 1.4 cookies测试 3
1功能测试 2
1.1链接测试 2
1.2表单测试 2
1.3数据校验 3
1.4 cookies测试 3
1.5数据库测试 3
1.6应用程序特定的功能需求 4
1.7设计语言测试 4
2性能测试 4
2.1连接速度测试 4
2.2负载测试 4
2.3压力测试 5
3用户界面测试 6
3.1导航测试 6
3.2图形测试 6
3.3内容测试 7
3.4表格测试 7
3.5整体界面测试 7
4兼容性测试 8
4.1平台测试 8
4.2浏览器测试 8
4.3分辨率测试 8
4.4 Modem/连接速率 9
4.5打印机 9
4.6组合测试 9
5安全测试 9
5.1目录设置 9
5.2登录 10
5.3日志文件 10
5.4脚本语言 10
6接口测试 10
6.1服务器接口 10
6.2外部接口 11
6.3错误处理 11
7结论 11
在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术
Ⅶ 能介绍一下web测试的技术吗
Web测试技术- -
由于Web应用与用户直接相关,又通常需要承受长时间的大量操作,因此Web项目的功能和性能都必须经过可靠的验证。这就要经过Web项目的全面测试。
Web测试通常通过界面测试、功能测试、性能测试几个方面来进行。测试方法则根据测试内容的不同而不同。下面就这三个方面分别进行说明。
一、界面测试
界面测试就是对Web项目的界面部分进行正确性、灵活性、直观性、一致性、舒适性等方面的验证。这部分的测试看似简单,但实际上包含的测试项目庞杂,又可间接对应用程序的准确性进行验证,同时它的实用性与最终用户直接相关,因此决不可低估它的地位。
界面测试包括的主要内容有:页面的规范性、舒适性、正确性、直观性、实用性、一致性几个方面。
页面的规范性主要是指布局、色调和美观性的统一。这通常在项目初期确定,测试阶段需要验证最终页面的实现是否与之前的确定方案相吻合。包括各个页面元素的布局和位置是否合理、外形是否准确,色调是否正确美观,CSS风格设置是否统一,等等。
页面的正确性包括页面元素的基本功能是否实现,是否具有完善的容错处理,显示方式是否正确,各项链接是否准确,各个脚本程序是否存在、准确,等等。
页面的直观性包括界面是否整洁鲜明、不拥挤,是否包括了冗余功能,主要功能和操作流程是否突出,等等。
页面的一致性包括各种快捷键和菜单选项是否与通用的习惯相符(比如F1为帮助信息、Tab键进行元素间跳转等),包含术语和命令与命令行方式是否一致,按钮位置是否符合习惯(如各种设置页面均该包括确定和取消按钮,且确定按钮位置在前)等。
页面的灵活性包括页面是否具有完善的容错处理方案,统一操作是否有符合不同用户习惯的多种操作方式,处理结果是否有多种显示方式,操作是否支持键盘鼠标两种方式,包含数据量大的时候是否支持查找或排序操作,页面是否在各种分辨率下均被支持,屏幕大小变化,等等。
页面的舒适性包括界面操作逻辑是否合理、符合用户习惯,在用户操作错误时是否有合理的信息提示,等等。
以上各个方面的测试是可以同时进行的。方法通常是根据操作逻辑和页面内容制定详细的测试case文档,按照各个case逐个走查。注意要case要覆盖全部情况。页面若针对多个不同的用户群,应尽可能的由不同操作习惯的测试人员充当各种角色参与测试。
二、功能测试
界面的功能一般包括后台数据的增删查改、用户输入输出校验、状态信息的显示和保存等,这些通常是通过CGI程序、Javascript程序、Cookies等来协同完成的。测试要根据目标功能对包含程序逐一进行验证。
功能测试主要包含以下几个部分:
是否能够提供用户正常的登录,是否具有登录失败时的合理处理,是否具有登录用户的状态信息存储,以及密码的差错校验和修改能力。
对于用户输入,是否具有合法性检查,是以何种方式实现,这种方式是否适应所有情况和变化。若以javascript来实现,是否考虑了用户禁用javascript程序时的情况。
若页面包含有Cookies,要验证Cookie包含信息已经加密且信息准确。
对于每一个提交的表单,要验证后台程序是否能够准确接收和处理,以及是否包含了各种异常情况的处理。如果包含数据库操作或文件读写操作,要保证数据库工作正常,且后台程序对之具有完善的容错能力。
这部分的测试方法很多,总体的功能验证可以通过引入测试工具来进行。有一些工具可以模拟网页表单的提交过程,测试人员只需要提前写好表单输入数据及预期输出结果,便可以对一系列功能进行批量验证。
三、性能测试
性能测试主要考虑服务器端在负载压力足够大的情况下,是否能保证性能长期稳定。这需要对服务器进行各种极限情况的测试,包括用户数目、运行时间、反复启停等情况的极限情况。这项测试通常能够找出系统的内存泄露或边界情况的问题。
性能测试通常通过工具来进行,如loadrunner、webload、was、ewl、E-Test等,主要方法都是先编写出测试脚本,然后运行得出报告。这些工具基本都是利用线程技术模拟虚拟用户来实现的。
四、测试工具
网上介绍较多的包括以下一些工具:
E-Test功能很强大,其实现采用的不是Post URL的方式,因此可以支持多内码的测试数据,基本可以测试大部分的Web站点。
Microsoft Web Application Stress Tool利用脚本回放来代替手工劳动,验证页面表单对各种输入的响应结果,同时也能够提供一定的性能测试结果。
PureLoad是一个很好的性能测试工具,完全用Java写成,可以测试各种C/S程序,如SMTP Server等。它和Microsoft Web Application Stress Tool都使用Post URL的方法测试Web项目,对大量使用JavaScript的页面不太适合。
Linkbot是专门用来做页面链接测试的工具。
MI公司的winrunner,compuware的qarun,Rational的SQA robot等可以用来做客户端的功能测试和服务器端的压力性能测试。
也有一些工具是用来做测试流程管理的,比如Test Plan Control,test manager等等。