|
|||||
![]() |
|||||
| 您现在的位置: 软件测试时代 >> 软件测试技术 >> 性能测试 >> 文章正文 |
|
|||||
| 压力测试的几种常见性解决方案 | |||||
作者:fanzuer 文章来源:网络 点击数: 更新时间:2006-10-25 ![]() |
|||||
|
1:保守方法:这种并发性模型在数据上加了锁,如一个用户在操作数据库的一条记录时,在允许编辑的环境中,系统就会拒绝来自其它用户读取数据的请求。对于很可能出现一个以上用户同时编辑相同数据的情况时,最适合采用这种方式,虽然这种方式在实现上有一定的复杂度。 在此模式下测试并发性主要关心的是验证能否正确地取得、释放加在记录上的锁,并且正确处理应用程序中所有可能更新这条记录的部分。 a :锁的获得:因为同一时刻只有一个用户能够进入一条数据记录或数据项的更新状态,所以关键是系统必须把锁正确地分配给第一个请求的用户。获得锁的操作应该是可操作的,具体的做法是:让两个用户试图同时进入编辑状态或者也可以使用大量的请求,对于后者我们可以使用一个脚本来产生多个同时的编辑数据请求,以此来验证只有一个请求获得成功。 b :锁的效用:验证锁的有效性必须确保其它任何用户不能用任何方式修改这个数据(如修改和删除),具体的验证方法是:让一个用户打开一条记录(进入编辑模式并且保持这个状态),同时其它用户在应用程序的所有地方试图编辑、删除等一切方法更新数据,系统应该拒绝所有其它用户更新数据的企图。 c :锁的释放:必须验证:当编辑数据的用户释放了该条记录后,系统能够让其它用户编辑该条记录,另一个注意的方面是错误处理,也就是持有锁的用户用到错误的情况下(如客户端崩溃),系统应该完成什么样的操作,系统从释放锁的故障中重新恢复的能力要重点考虑。 2:开放方式:在此模式中,总是允许用户读取数据,甚至还可能允许更新数据,但当用户试图保存数据时,系统会自动检查自从这个用户检索数据以后是否有其它人更新过数据,如果数据发生了变化,那么更新就失败。这种方法比保守模型允许更多的用户查看数据,所以它适用于不太可能出现多人同时修改同一数据的情况。 在此模式下,更新是唯一需要关注的要点,最佳的测试方法是综合手动和自动测试技术,在手动测试时,两个测试人员编辑数据,然后试图同时保存数据,一个用户更新的操作成功后,另一个用户得到的消息是内容是其它用户已经更新了数据,此时他只有重新装载数据并且重新完成修改操作。在使用自动海量的测试方法时,同理,只有一个用户能更新记录,而其它用户都收到提示,因为其它用户已经更新了数据,所以他的操作无效。 3:无并发保护,是所有模式中最简单的一种,通俗的说即胜利属于最后一个用户,但当两个用户同时修改一条记录时,可能导致数据损坏。 在此模式下,无论更新请求的顺序如何,所有用户都该成功完成更新操作,特别需要关注的是数据的完整性和更新错误,如:当一个用户更新某记录的同时,它确被删除了。 处理并发测试时还要注意,当相同的数据可以通过不同的界面或者功能更新时,应该测试所有可能访问这条记录的功能。 |
|||||
| 文章录入:working 责任编辑:seanhe | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 关于我们 | | |
| 版权所有(C) 2003-2006 测试时代 北京慧灵科技有限公司 站长:测试时代(TestAge.net) | |