软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>WEB测试>>正文
测试Web Application之一:准备团队
文章出处:Kiki的专栏 作者:www.qalabs.com《Testing Web Applications Part ... 发布时间:2006-05-09

Web 应用程序 vs. 网页(Web Pages

    贵公司已决定是时候在你的服务或产品前面加上一个字母“e”了。由网络开发人员组成的团队也已装备好提供来自贵公司网站上的服务或产品了。你和你的团队将负责测试这只新的怪兽,web application。不管你公司的性质如何,你曾经都测试过企业应用程序或数据库应用程序。因此这应该是相当简单的,对吗? 它只是一捆网页,或许是一些JavaScript,对吗? 很遗憾,你错了。

    我们说的“web application”是什么意思呢?从一个简单的带有一些订单填写的公司站点到象YahooAmazon一样的站点,在web applications里这是一个难以置信的复杂度范围。一种考虑web application 架构的方法是采用传统业务交易应用程序的模型,并用网站代替了用户前端。一个客户用钱以从你的公司获得货物和/或服务。使客户和公司之间的交易适当的变得更容易些,这是我们的机制。 但不是一名销售代表,办事员或一名出纳员,而是你有一个指向网站的浏览器。公司从未被关闭!用户可以自己服务自己!

想一想自动贩卖机。它基于用户的输入填写订单,验证资金的转移,并且有一个基本的用户界面。现在增加一些复杂度。使这个用户界面变为一个基于浏览器的解决方案,它必须运行在多个操作系统的多个浏览器上,而不是在touchpad上。噢,在(实时的)跟踪存货时,让机器直接填写来自货舱的订单。并且为完成那个过程,人们不用再往机器中投入钱币,而是在读卡机上刷一下信用卡-一次你将需要让信用卡公司批准每一笔交易。嘿,另一个好点子就是为一个客户分配一个用户名和PIN(个人身份号码)以允许我们保留他们的信息。利用这个方法他们就不需要刷卡及输入发货信息。并且我猜想这些信息实际上也将安全些。

考虑到这个情景,现在很清楚了web application不是简单的,带些图片和一些HTMLJavaScript的网站。他们和传统的,在前有些格外复杂度的交易系统很相似。那样一个系统所需的测试工作量比为没有web界面的应用程序多的多。

开发的生命周期及其对测试的影响

    我们中的大多人曾经都接触过少数的软件开发生命周期模型,例如Spiral 模型,瀑布模型等等。典型的软件项目的阶段有计划,收集需求,分析和设计,实现(又叫编码),集成,测试,发布和维护。你的团队需要知道对于一个web application的项目,这些阶段该如何配合。

    这些阶段有些相似,但是没有以前在工业中看到的不时的冗长的时间量度。Web application是软件,并且同样地和所有软件开发项目一样受到相同规则的影响:至少你需要需求,设计,实现和测试。如果你想限制风险,象其他任何的软件项目一样,你需要做出计划和管理。即使速度和昨天市场部总是想要的产品相似。只不过现在“昨天”甚至更早了。

    最好的减少在测试一个web application 时风险的方法是在项目生命周期的初期增加正式的测试计划和分析。每个项目在项目生命周期的结束部分都有测试这一环节。当开发进度不理想时,测试的时间几乎总是被缩短以便可以迎合发布或“go-live”日期。在项目生命周期的初期增加测试计划将允许测试人员基于风险,进度约束和测试人员的能力及态度区分他们测试工作的优先级别。当在“go-live”之前时间很紧张时,这对管理测试工作量就显得非常重要。

现在就准备的5种方法

    测试一个有着相对静态内容和极少表格的网页只要花很少的时间。测试一个web application将需要更加复杂的测试策略和更多的时间。由于web开发的本质,你的团队或许不能获得更多的时间,甚至可能比传统开发项目更少。你可以通过利用在初期的“停工期(downtime)”提前来筹备你的测试团队以节约时间。

  • 更多地了解你将工作的环境

    测试人员应该自己熟悉难以捉摸的浏览器,操作系统,web服务器和数据库的差异。他们知道更多的关于脚本(ASP, XML, HTML等),数据库(Oracle, SQL等),web服务器(IIS, Apache, 等)和在UI后面的数据传递的知识,他们就会更加有效率。测试人员不是简单地只通过运行UI(在这里,指的是浏览器)来测试功能。如果这样他们将遗漏掉web application要求的其他所有的测试类型,例如性能,安全,数据库完整性等。记住,解密高手不会利用浏览器去破坏网站,他们使用脚本。

  • 寻找或创建合适的测试工具

    成熟的测试工具的缺点是会使自动化变得困难。记得Java第一次击中场景是什么时候吗?开发人员和项目经理都想使用这种新技术。突然间测试人员的负担加重了,两倍,三倍,或更多。仅仅因为配置的数量和可用的成熟的测试和测试工具的缺乏。现在有很多的测试工具可以使用,但是仍然要花时间选择一个适当的工具,学习它的细节,设置自定制它到你的环境中。如果工具是不可用的,你应该即刻查明,并且构建一些你自己的测试应用程序。

  • 创建一个操作系统vs.浏览器版本的矩阵

要求大量的浏览器和操作系统的兼容性测试。 如果你创建了一个操作系统与浏览器版本的矩阵,你将有一种攻击所有变化的方法。

  • 用版本控制或其他配置管理efforts来定义你的开发和测试环境

如果你正在测试而没有定义你的环境,你将面对以下的问题:

    • 当你没有先前的版本时,你如何回滚代码变更?

    • 新的功能或修复的缺陷如何放到每个版本中?

    • “内部版本(build)”术语意味着在web空间中的任何事情码?

    如果源代码没有被归档或没有打上标签,或在版本控制库中没有进行分支,测试人员就不能够恢复到一个“已知状态”。当环境连续变得更复杂时,没有一个可以用来恢复的先前版本使得隔离和分析缺陷更加困难。如果你安装了一个友好的测试环境,你将不会必须面对由这些问题带来的新问题。

  • 安装一个隔离的测试服务器

    web测试人员的一个常见(并且危险)的习惯是在测试之前移植修复了缺陷和添加了新功能的代码到一个live服务器上,并且在它上面测试。实际上,你的测试团队不应关闭你的网站,他们应建立一个隔离的测试服务器。

    这5 个步骤将帮助你提前为挑战性的任务而准备你的团队。在后面的文章里,我将略述一系列在开始你的测试计划时你将要问到的具体问题,以及怎样将这些问题的答案用于确定并集中你测试的策略。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=455592


站内搜索
相关文章
◎测试基于Web的应用程序
◎如何从用户的角度来测试Web应用软件
◎Client/Server测试
◎IT架构和应用程序的端到端测试
◎C/S和B/S的比较
◎评估网络测试的价值
◎SEWM-2004中文Web检索测试指南
◎嵌入式Web视频点播系统实现方法
◎用webload进行web application性能测试(二)
◎用webload进行web application性能测试(一)
◎终极优化(附录):使用 IIS 5.0 调整 Web服务器的艺术与科学
◎终极优化(4):使用 IIS 5.0 调整 Web服务器的艺术与科学
◎终极优化(3):使用 IIS 5.0 调整 Web服务器的艺术与科学
◎终极优化(2):使用 IIS 5.0 调整 Web服务器的艺术与科学
◎终极优化(1):使用 IIS 5.0 调整 Web服务器的艺术与科学
◎IT 架构和应用程序的端到端测试(3)
◎IT 架构和应用程序的端到端测试(2)
◎IT 架构和应用程序的端到端测试(1)
◎JWebUnit为Web应用程序创建测试用例的办法二
◎JWebUnit为Web应用程序创建测试用例的办法一
◎ASP.NET负压测试
◎Web测试工具对比--自动化功能测试(2)
◎Web测试工具对比--自动化软件测试(1)
◎Web的系统测试方法
◎web扫盲专题之入门概念
◎解决WEB性能测试中的验证码问题
◎你必须学会的几个常用网络测试命令
◎StrutsTest使用
◎基于嵌入式WEB的网络视频监控系统的设计与实现
◎分析数据库死锁原因的方法
◎Web下的整体测试
◎端口大全
◎网站测试技术简介
◎服务器加速技术一览
◎巧用net命令进行局域网文件批量同步更新篇
◎编写高性能WEB 应用程序的10 个技巧
◎主流七款web服务器软件点评(二)
◎主流七款web服务器软件点评(一)
◎巧用Behaviors检测浏览器
◎Web测试方法
◎基于Web的系统测试
◎Web体系结构发展规划
◎功能测试用例的书写方式
◎Web 测试的经验
◎使用Sql生成测试数据
◎对Web服务进行压力测试
◎使用HttpUnit进行集成测试
◎web应用程序测试方法和测试技术详述
◎Web应用程序的整体测试
热门文章
◎C/S和B/S的比较
◎Web测试方法
◎你必须学会的几个常用网络测试命令
◎压力测试实例
◎web应用程序测试方法和测试技术详述
◎web测试技术经典案例
◎网站测试技术简介
◎Web下的整体测试
◎功能测试用例的书写方式
◎端口大全
◎Web 测试的经验
◎强大的Web开源测试工具—Selenium
◎Web的系统测试方法
◎测试基于Web的应用程序
◎Client/Server测试
◎分析数据库死锁原因的方法
◎主流七款web服务器软件点评(一)
◎Web测试工具对比--自动化软件测试(1)
◎如何从用户的角度来测试Web应用软件
◎Web测试工具对比--自动化功能测试(2)
◎使用HttpUnit进行集成测试
◎Web应用程序的整体测试
◎对Web服务进行压力测试
◎基于Web的系统测试
◎如何测试web网站?
◎ASP.NET负压测试
◎web扫盲专题之入门概念
◎站点测试 Web Testing
◎使用Sql生成测试数据
◎主流七款web服务器软件点评(二)
◎Web测试手段
◎用webload进行web application性能测试(一)
◎基于嵌入式WEB的网络视频监控系统的设计与实现
◎解决WEB性能测试中的验证码问题
◎编写高性能WEB 应用程序的10 个技巧
◎评估网络测试的价值
◎StrutsTest使用
◎用webload进行web application性能测试(二)
◎网站测试技术
◎嵌入式Web视频点播系统实现方法
◎测试Web Application之三:进攻
◎巧用net命令进行局域网文件批量同步更新篇
◎测试Web Application之二:准备作战
◎开源Web自动化测试框架——Watir试用手记
◎Web体系结构发展规划
◎IT架构和应用程序的端到端测试
◎WEB应用程序的测试与优化
◎WEB测试资料
◎终极优化(1):使用 IIS 5.0 调整 Web服务器的艺术与科学
◎JWebUnit为Web应用程序创建测试用例的办法一

Google提供的广告