测试基于Web的应用程序
作者:不详 发布时间:[ 2010/6/9 16:45:00 ] 推荐标签:
这是一个动态环境相关错误的Web应用程序例子,我们在其中将调查一个时间相关错误。功能说明书要求:
? 在系统中的项目名称必须是的
? 为了可能的复制需要在客户端使用JavaScript来执行错误识别和处理
? 用户将可以通过请求项目设置页面增加或删除项目名称
? 当一个用户创建一个新的项目名称时,浏览器端的JavaScript检查输入的名称和内嵌在HTML页面中选择列表(如图4)。
看看图5中的时间相关的错误。在项目设置页面之前和之后的屏幕截图中说明了应用程序失败检测重名的“Doomed”。图4解释了这个时间相关的错误,它包括了两个用户增加新的项目名称到同一个数据库中。
如表1中所示,用户A和B同时创建新的项目,但是并不知道其他人的动作。在步骤3中,用户A增加了一个名为Another的项目。由于这个项目名称已经存在,他浏览器的JavaScript会显示一个提示他输入不同项目名称的信息。
用户B增加了一个项目名称为Doomed。她浏览器的JavaScript不会检测Doomed为一个已经存在的项目名并且添加它到数据库中并返回列表。更新过的项目名称列表被发送到用户B。
用户A随后添加相同名称Doomed到项目列表中。他浏览器的JavaScript没有在HTML列表中检测,因此Doomed会再次被添加到数据库中-同样到了返回的列表中。更新的项目名称列表被发送给用户A,并且包括两个Doomed的条目。
这个结果未能满足产品的说明书。除非这种情况出现在一个设计良好的测试用例,偶然发现这个错误并且试图重现它不是一个简单的工作。在这个例子中,实际的错误是应用程序在检查服务器端重名(除了客户端检查以外)的失误。这些步骤包括用户A的活动。通过用户B的活动创建了动态操作环境-这些活动对于用户A是隐藏的或不知道的。
总结
为了有效的在Web环境中分析并重现错误,你需要对操作环境有个掌握。你也需要理解环境特定的变量可能会影响你复制错误的能力。在应用程序有着这份文章中的一些技能,我希望你的Web测试经验将会更少的被挫败和更加开心。
记住没有任何东西将替代你的测试技能-你编写出好的测试用例,问相关what-if的问题,保留仔细的记录,并且有系统的研究难以重现的错误的能力。是这些技巧不仅在寻找错误中给你提供帮助,而且也会帮助你发现那些和他们相关的隐藏错误。

sales@spasvo.com