说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Web应用程序完全测试指南

HTML文档下载 WORD文档下载 PDF文档下载
大量的优质应用逐渐提升了用户的品味,也降低了用户的容忍度,如果你的Web应用无法使用户满意,那么很快会有其他应用来代替。这要求开发者从各方面对其进行测试,以便让用户在使用过程中不会出现各种各样的问题。

随着Web技术和移动互联网的发展,越来越多的应用被迁移到了云端,这也使得用户可以随时随地使用它们。目前大量的优质应用,逐渐提升了用户的品味,也降低了用户的容忍度,如果你的Web应用无法使用户满意,那么很快就会有其他的应用来代替。

对于开发者来说,建立良好的客户口碑才是最有意义的事情。在完成了Web应用的设计和开发工作后,并不意味着你就可以直接发布了,你还需要从各方面来对其进行测试,以便让用户在使用过程中,不会出现各种各样的问题,比如性能、使用体验、安全问题等等。


那么对于Web应用来说,该测试哪些方面,该如何测试呢?来看看作者 Abhimanyu Ghoshal给出的这些建议。

一、首先应该测试什么?

当测试Web应用的时候,首先要明确你的应用要用来做什么,比如帮助用户编辑照片、发送票据、联系朋友或跟踪社交媒介等。你通常需要着眼于这四大领域:

1.  功能性测试

几乎所有的用户都期望自己所使用的Web应用功能准确、迅速、一致。这就意味着开发者必须精益求精,帮助用户实现某种形式上的结果。下面是一些需要全面测试的常见的功能元素:

  • 表单:无论是反馈调查、创建任务计划,还是订阅新闻,都需要用到表单。你需要检查提交操作是否正常,是否能够提交连接并提交到你的数据中,所有字段是否能够接收输入的内容。
  • 文件操作和计算:这其中涉及图像和文档的上传、编辑、计算功能和正确的输出值。首先,要确保你能想象得到会有多少用户会使用你的应用,并尽可能地针对他们进行调节。另外,要考虑一下如何使你的App更有效地计算并显示出结果,给用户提供一个更加流畅的用户体验。
  • 搜索:如果你的应用允许用户搜索内容、文档或文件,那么就要保证你的搜索引擎能够索引这些信息,并定期更新,以便能够让用户实现快速查找,并根据查找条件快速显示相关结果。
  • 媒体播放组件:测试音频、视频、动画和互动媒体播放组件(如游戏和图形工具)的时候,这些组件应该像预期的功能效果一样,在加载和运行的时候不能影响(暂停或减缓)其他应用的运行。
  • 脚本和类库:确保你的脚本(比如图像显示或Ajax页面加载)在各种浏览器之间是相互兼容的,因为不同的用户可能会使用不同的浏览器访问你的应用,同时你可以测量不同浏览器的加载时间来进行性能优化。如果你的脚本只能和某些浏览器相互兼容,那么就要确保应用中的其他组件有更好的性能,这样所有的用户就能得到最好的应用体验。

最后,就是要全面检查其他组件的功能,包括提示系统、用户配置文件和管理仪表板等。

2.  用户界面和可用性测试

你的Web应用不但要像加满油的机器一样运行,还要能够为所有的用户提供一个高质量的前端体验。为了达到这个目标,你还需要考虑你的用户可能会遇到的所有的视觉和文本元素方面的问题,在Web应用发布之前,尽可能地测试这些元素,以确保它们正确而有效地显示。


  • 导航:主页面上的导航链接以及返回主页面的链接都应该明显的突出出来,并指向正确的目标页面。
  • 可访问性:尽最大可能的确保你的Web应用易于操作、使用,哪怕是对那些有视力障碍或行为障碍的人来说,简易的使用步骤是最受欢迎的。W3C有一篇文章 《Web Content Accessibility Guidelines》能够帮助你很好的定义这一点,并指出了如何让你的Web应用在广大用户群里成为“用户友好型”的应用。
  • 跨浏览器测试:用户很有可能会从多种浏览器和操作系统中访问你的站点,不要让你的应用在不同的环境下无法显示同样的效果,所以你需要尽可能多地测试这些浏览器和操作系统组合,以确保你的Web应用能够按照计划运行,为更广泛的用户提供一致的体验。
  • 错误消息和警告信息:在很多情况下,你的Web应用在某种程度上一定会崩溃,但这不是你的错。你所要做的就是:当用户遇到例如404页或无法成功上传资料的问题的时候,要确保应用程序中显示的消息是描述性的、对用户来说对解决问题是很有帮助的。
  • 帮助和文档:并不是所有的用户在使用你的Web应用时都能感觉很顺畅,有些用户在刚开始的几次可能需要帮助;而其他人即使是很熟悉这款产品,也可能在使用该过程中会遇到一些问题。这时候你需要做的事是运行你的应用,检查文档,确保在任何模块或页面中都有渠道让用户快速获得帮助信息。
  • 布局:测试你的Web应用以确保它能够在尽可能多的浏览器和不同分辨率的屏幕中正确、一致地显示。

你还可以继续检查一下所有的动画和交互操作(例如拖放特性和模态窗口)、字体和字形(尤其是Web字体)。当然,还有前端性能(页面渲染速度、图片和脚本加载时间)等。

3.  安全性测试


大多数Web应用都会从用户那里获取并储存数据,包括用户的个人信息、计费信息和工作/个人文件——这些数据都是用户在信任你的应用安全性的基础上才会输入的,所以你的Web应用应该做到下面这几点:

  • 对私人数据进行加密
  • 在授予访问权限之前坚持进行身份验证,并对数据访问进行限制
  • 确保数据完整性,尊重用户的要求

黑客可以在任何时间任何地方攻击你的应用,但是,如果你能熟悉Web应用漏洞的种类以及黑客常用手段的话,那这也是一个很好的避免被攻击的好方法。攻击Web站点和应用的方法通常包括:

  • 跨站脚本:当一个网站被以诱骗的方式接受了恶意代码,它就会向用户传播这个恶意代码。
  • SQL注入:如果黑客通过一个用户输入漏洞运行一段SQL命令,就可能导致用户数据遭到损坏或被窃。这些情况通常发生的原因是:Web应用允许在SQL命令或系统命令中使用特殊元素。
  • DDoS(分布式拒绝服务)攻击:当一个Web应用无法呈现给用户的时候,通常它会向服务器发出大量请求,会逐渐拖慢服务器并导致最终无法响应。

另外就是一定要对常见的、容易引起安全漏洞的编程错误进行测试,它们可能会让你的Web应用存在潜在的危险。这些常见的编程错误包括:缺少认证检查、使用硬编码凭证、没有加密敏感数据、没有锁定Web服务器目录访问。

除了对上面所述的内容进行测试以外,你还可以寻求正义的安全专家的帮助,或者是寻找一些专门针对安全测试的自动化工具。

4.  加载测试

当你的Web应用的用户人数从10个增加到100个的时候,速度肯定是会慢下来的。另外,你还可能会发现,在某一天、某一月或者是某一个时刻,流量会剧增,这有可能是因为你的优惠政策吸引了病毒,或者是你的App出现在了某著名刊物上了,引来了众多的用户。

在加载测试环节,需要测试你的应用和服务器环境,以确保在不管有多少用户登录的情况下产品都能够顺利运行。大多数高质量的Web主机都提供了实时的、大范围的问题解决方案,所以在购买主机的时候一定要货比三家。

二、如何测试你的应用

测试是构建Web项目不可分割的一部分,你需要通过一个系统化的方法来最大化有限时间和资源的使用。下面所列举的就是测试一个典型的Web应用所涉及到的步骤。

1. 设定目标

在大多数情况下,测试是一个有时限的检验过程,尤其是当Web应用准备发行的时候,这也就是为什么要考虑哪些功能需要优先测试。例如,如果你正在构建一个允许用户创建在线商店的App,你可能会优先测试支付网关连接这一功能,之后才会测试文本对齐问题。

目标优先不仅可以帮助你确保你的应用的主要功能完备,还可以让你在正确的方向上为整个开发团队制定清晰的计划流程表。

2. 定义流程和使用案例

在开始测试Web应用之前,为你和你的团队制定一个合理的流程非常重要。先收集所有可用的文档,和你的测试人员分享一下观点。接下来,设想多个用户在使用你的应用时可能会遇到的场景,比如应用在使用过程中崩溃了该怎么办。

一定要设置一个bug跟踪工具,测试人员可以用它来报告问题,开发人员和设计人员可以用它来识别和修复bug。

3. 设定一个测试环境

在测试你的Web应用之前,要将它部署在跟上线后的环境一致的服务器上,这样才能测试出各种真实使用情况下的问题。

有些问题在本地服务器上是测试不出来的。例如,在一个地图Web应用上,地图中大量的SVG图像可能需要很长时间的加载过程,如果移动用户使用你的应用,会导致他陷入困境,无法获知前进的路线。

4. 真实的单元测试

Flow项目(一个致力于在线任务管理和协作的应用)的QA专家Jeremy Petter表示:

在大多数的Web应用测试过程中,困难是难以想象的,有可能要花一个星期的时间进行测试。不过也有捷径,那就是将整个App分解成可管理的几个块进行测试。
在Flow项目中我使用一个列表来标记每个用户在应用中进行交互的位置,以及它的一般形式和功能。因为这是一个模块化列表,你可以添加或删除一些项目,或者对在开发过程中发生变化的项目进行标注。


5. 验证你的代码

为了提供一个清洁、无错的用户体验,你应该对代码进行验证,并确保它是建立在Web标准基础之上的。这样做不仅能增加跨浏览器兼容性,而且还能提升Web应用的性能。

6. 加载测试和性能调优

测试你的Web应用和它的运行环境是否能经得起巨大的流量和激增的带宽需求,并寻找可能会导致App性能问题的瓶颈。同时,你也可以考虑使用一些网上服务来监控用户流量、服务器利用率和因代码引起的问题,对App进行一些相应的微调,以提高App的速度和效率。

7. 安全性测试

最后,测试你的Web应用以确保它能够对抗得了黑客的恶意攻击。从基本的应用可用性和正常运行时间开始进行测试,直到用户数据的完整性测试结束为止。

三、对于测试的两个小建议

测试过程中,首先要考虑把用户放在第一位,在测试之前要彻底想清楚用户会怎么使用这个Web应用。设身处境的把自己放在用户的角度上思考一下,这会对制定切合实际的开发设计场景很有帮助。

Jeremy Petter对测试人员的建议是:

测试是注重细节的工作,需要高度集中注意力。而且最富有成效的测试过程发生在第一个小时或者是刚开始的时候,所以,在测试的时候最好是按照规定的时间开始/关闭项目,以便测试人员的注意力和效率达到最大化。

原文: A comprehensive guide to testing your Web app(编译薛梁)

数据库查询-VB资料 数据约束控件和 RecordSet-VB资料 锁住数据库中的表 -VB资料 谈谈VB的数据库编程方式 为VB5辩解: VB处理数据库时求数据表记录总数的最佳方法 为什么安装后的数据库应用总是路径不对或找不到? 返回 -VB资料 无论如何,就是只能输入数字-VB资料 VB用 DAO 或 ADO 正确访问 Access 2000 VB用CELL组件显示Access数据库的图片对象 VB用DAO打开Excel文件 VB用DATA控件绑定报表控件打印报表 VB用EXCEL来打印报表并生成折线图 VB用EXCEL组件简化VB编程的一种方法 VB用MDB文件做密码库 VB用ODBC API访问ODBC数据库 用VB 实现类电子表格的数据录入 用VB5直接控制Excel 97 用VBA编制Access的查询程序 用VB和RDO访问SQL Server 用VB开发多通道仪表数据采集程序 用VB实现关闭所有数据库对象 用VB实现类电子表格的数据录入 VB用代码创建数据库,表,字段 VB用类来编写数据库程序 优化OLE的调用频率-VB资料 语言选择引起的查询错误 -VB资料 远程数据库的访问-VB资料 运用ADO进行数据库表数据互导 -VB资料 在 VB5.0中编辑数据库和电子表格 在Access 2000中用ADO-VB资料 在Access数据库中实现密码管理的另一种方式 -VB资料 我高手在哪里?-------> 如何在第一时间里获得屏幕的变化呢?及获得屏幕变化的那部分?各位大师,帮帮我。谢了。 怎么在局域网中2000server下发布网站???? 有关CRecordset,ODBC,Sqlserver的数据库,为什么会变慢? 急!!!有谁知道XP的解密程序? 我用regeditset语句自动注册odbc数据源,注册完成之后程序可正常使用,但控制面版中的odbc数据源中却找不到该项,是不是还要修改某个文件?请告知为谢! !!!!请问这个怎么实现??(有图) 在多层系统中数据更新是如何实现的? Applet 里面怎么做菜单 串行口的简单问题,求救 如何在函数里面传字符串数组 请问哪里有《Delphi 4 编程技术内幕》随书附带的源码下载啊? 请教:将可执行程序安装到用户机上后,用什么办法控制其它用户非法复制使用? 我想隐藏MSFlexGrid2的的10到最后行,但不行!!急救!! 哪有STL 和BOOST库的SOURCE CODE 当 如何做安捷生产管理系统。如何下手!!! PB8在链接Access2000时,为何会发生问题.链接后在PB8中打开只能看库中数据,却不能修改! 我用OCX控件编程,插入OLE控件时,出现“需要协议文件”,我该怎么办呢? waveoutopen! 问个问题,我一直有疑惑 BDE中建立的Access库,怎么才能打开; Access的密码为空,用户名不知道; 第四次帖了,高手在哪儿? 为什么我装了一个元件后再安装一个另外的,会把第一个冲掉? 就要去实施了,不知道什么时候才能回来,散分 我是菜鸟,问一个很菜的问题,!!!!!!!!! ATL中创建的ActiveX控件,是怎么在程序中使用的???????????? 一个关于LotusScript的一个问题。调用公试。 **请教:怎么让MSFlexgrid的一行显示一种颜色. 一个小问题,希望有人能解答! DLL高手请入,关于在DLL中引出对象的问题?????? 求教!!有关DLL调用中返回字符串类型出错的问题。 Delphi怎么实现子类化? session 和 cookie 各有千秋,区别在那里啊?敬请赐教! fm1008leaf(小幻姬(玉笛书生的徒弟)):我考考你就知道你是真是假! jneu(沧海桑田)怎么不理我?有关宏拷贝问题 paradox中的NUM类型在sql语句中是什么类型?为什么asfloat会出错? 关于J2EE的就业前景,值不值的花二万元参加一个二十天的培训,欢迎大家热烈讨论 在listbox 中,如果知道了一个Item的内容,怎么知道它的indix 今有同仁问到,三十以后咋过。恰巧心情郁闷,发上几句牢骚。 少年暗恋对象,早已嫁作人妇。那天遇见街头,孩子叫我叔叔。 OICQ问题! 如何可获得Table 内字段的类型及长度? windows2000 server 的internet 共享怎样设置权限 软件开发的请进来讨论,关于报酬的问题。大家多提建议。 1.为什么有些地方可以用MessageBox函数,有些地方不可以2.mfc的CView::OnFilePrint提供了打印的方法,要是一个程序没有视图要打印一般用什么方法? 请问在DEVELOP2000里面可以使用进度条控件吗?怎么编程实现? ???oracle监听器问题? WebBrowser控件获得网页中文本框的名称该如何写? CFtpConnection 怎样在FastReport中控制或判断所连接的数据库表到了eof? CTypedPtrList模板对象中,如何删除指定位置的元素??十分着急! ms sql server 的技术问题 怎样清除事务日志????????? 在那里改个人在cdsn.net注册信息(如名字,地秩)? 面粉怎么发酵 可乐和雪碧中都溶解了二氧化碳,当打开可乐或雪碧时,会看到有大量气泡产生,你认为气泡中的气体是? 氧气转变成臭氧是氧化还原反应吗 如何发酵面粉 二硫化亚铁和氧气反应配平的过程 双线桥法怎么表示 得氧失氧是否一定为氧化还原反应?当然我知道氧化还原反应不是靠得氧失氧来判断的...但有没有一种物质得氧或失氧而不属于氧化还原反应的?P.s.我的化学很烂```呵呵呵呵 高一自然地理要点 如何配平化学方程式,举例说明一下...RT,例如:"向氢氧化铜中滴入稀盐酸."化学方程式如何得来的,又如何配平.最好是最小公倍数法的详细计算过程."向盛有澄清的石灰水的试管中吹气",这样又 硫化亚铁和氧气反应的化学方程式? 化学方程式配平最小公倍数法可以解决所有的化学方程式吗?为什么有的题目用不行呢? 化学方程式怎么配平?求回答,请举例. 二硫化亚铁与氧气反应的方程式 求初中化学方程式配平练习题我需要练习方程式配平 急需 基础习题.谢谢! 奇数配偶法配平化学方程式是不是不是所有这一类化学方程式都适用如 ( ) Fe3O4+( )CO===( )Fe+( )CO2 反应条件是高温 硫化亚铁与氧气反应,生成三氧化二铁和二氧化硫的反应,配平的具体过程是什么呀? 尖锐湿疣的醋酸白实验用食醋可以吗? 化学方程式配平怎么配平,常用的配平方法偶那些,考得最多的 是那种方法,求举例分析? 二硫化亚铁在沸炉中与氧气反应的化学方程式 用食醋能做醋酸白实验自我诊断尖锐湿疣吗? 3个连续奇数的和是15,这3 个奇数的最小公倍数是多少? “升失氧氧氧是还,降得还还还是氧”各指什么? 海带和大米哪个属于绿色食品?海带是不是蓝色食品?为什么? 高一生物必修一第二章知识点总结 降氧升还,得氧失还 为什么从海带中提取碘要海带用酒精湿润? 白酒,加碘盐,食用醋,冰水哪个是纯净物 升失氧:氧化反应,氧化性,还原剂,还原产物对不对啊?一直混掉… 用最小公倍数,奇偶配平数,观察法,灵活应用. 蒸馏水含有二氧化碳,对食用醋总酸量的测定将有何影响 关于可乐饮料,下列说法错误的是 A可乐饮料的碳酸会腐蚀牙齿,造成骨质疏松 B可乐会导致肥胖糖尿病C可乐饮料含有丰富的营养物质D可乐饮料只是一种好喝的水单选题 什么是奇偶数配平法? 甘油和醋及蒸馏水如何调配我的皮肤是混合性肤质,两颊干干的,T字区油油的,而且很容易长痘痘,也有很多黑头. 高二上生物知识点人教版(必修)第一章和第二章的知识点谢谢啦 怎么配P2+O5--P2O5?最后反应物的P2前为什么有个4? 用醋泡的酸萝卜 吃了有什么好处 物理化学的知识点应该怎样记忆? 还有化学中需要注意的问题 九年级化学配平练习题(要内附答案的)越快越好 九年级物理化学知识点归纳 九年级上册化学里要注意一些什么?特别是化学式.如何正确给化学方程式配平,有哪些方法? 一道化学配平题FeSO4+HNO3=Fe2(SO4)3+Fe(NO3)3+NO+H2O 在化学反应中,失去氧的物质叫-------------,得到氧的物质叫------------------- 例如:CuO+H2=Cu+H2O,其中CuO是---------,H2是------------ 食醋是由微生物发酵而;来的吗?面粉呢? 谁有初中化学配平练习 在氧化还原反应中得到氧的物质叫__,具有__性;失去氧的物质叫__,具有__性. 酿造食醋里为什么添加食盐,有什么作用?我在看一些醋的配料里好多有食盐,好奇 为啥要添加盐呢 没人知道么? 化学配平的题 ABC是中学化学中常见的三种物质,A与氧气反应生成B,B与氧气反应生成C,A与氧气反应生成C1若A是一种金属C是淡黄色固体则B是A到C的反应方程式2若A是一种非金属,其常见的单质为黑色固体,C是最 为什么说食醋生产是多种微生物参与的结果?常用的菌种有哪些? 用高锰酸钾制氧气的化学方程式 要配平 在同一个化学反应中,有物质失去氧,必有物质得到氧对不对?2H2O=(通电)2H2+O2书上说对,为什吗 高二思想政治(必修四)生活与哲学 知识点总结人教版 流水账形式 如何配平很复杂的化学方程式?例如高锰酸钾取氧 可以逐次与氧气反应,不断生成的新物质且新物质能与氧气反应的物质有哪些 高一思想政治2政治生活(必修)的知识点问题2高一思想政治2政治生活(必修)第2008学年坚持人民民主专政的意义?我国公民享有的政治权利?最好标有页码 求高一必修一生物知识点 高二生物知识点总结. 配平的奇数配偶法 谁可以讲一下我不太懂 高一生物必修一知识点 高二物理选修3-1知识点、公式总结.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn