created by Share Liang 18Jun2008 14:23
个人定义: failover test 就是以渐进的方式,从一个完整的系统开始,一个一个把待测部分屏蔽
,从某个层面(一般是用户界面)中检查行为是否符合预期,或者是否接近于用户一般习
惯和预期的测试方式。
以下假定我们有两个待测项(web server或app server或db server等等),分别命名为A和B。
failover test的注意点:
※ 每个测试项的测试要重复几次。
※ 对web server,app server,db server 要分别对待
前两个是类似的,因为是session在运行过程中是保留的,主要的failover是放在session
的切换上,另外切换的时候要确定session和connection是否落在待测项之中,即这种测试
是要我们保证session状态。
测试策略:如果想测试从A切换到B时会发生什么事,可以先关闭B,让连接连接到A上,然后关
闭A,打开B,再操作,观测界面情况。另外可以在上面打开的浏览器中(可能会同时打开几个
页面试几个功能),找一个在待测项切换的时候不断进行操作,看看会发生什么事,使测试的
覆盖更全。
而db的话,因为数据库连接用完就释放,因此不需要预先设置连接,只要在切换了数据库
然后提交,页面结果正常即可,我们不需要保证测试前后的状态,因此也没有时间上的限
制,测试并不会因为我们的操作慢了一点而导致结果有什么变化,即没有实时性要求。
测试策略:先进入到待测试的功能的页面,进行切换了再操作,观测界面情况。
做这个测试的时候要启动background noise,这个东西就是要测试在减少了可用设备后,
剩下的设备是否能够支撑正常的应用。
※※上面这个观点是错的!!!!!!!看下面
※※※※※※※※※※ failover test的background noise 是在切换之前就开始了,经过至少5-10分钟的稳定期
(响应趋于稳定),可以开始切换DB。此时观察是否出现fail transaction,fail
transaction和success transaction的比值应该小于1%(这是内部应用的比值,如果是外
部应用,如网站等,此比值在3%以下也算通过),无论fail transaction因为什么错误而
出现的,只需要统计比值即可。 ※※※※※※※※※※