友情链接
搜索标题
日历
| |||||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
| 1 | 2 | 3 | 4 | ||||||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
| 26 | 27 | 28 | 29 | 30 | 31 | ||||
最新留言
最新评论
统计信息
- 访问量: 10432
- 日志数: 29
- 图片数: 2
- 书签数: 1
- 建立时间: 2006-12-28
- 更新时间: 2007-05-14
我的最新日志
-
LoadRunner案例分析之五
2007-5-14
最近被一个代理的问题搞的纠缠不清。我这个人其实很多时候是不求甚解的那种。自打上次跟Zee版主交流了以后,很受打击,惭愧的要命。打算以后改改这个毛病。凡是要探个究竟,正所谓惩前毖后,治病救人嘛。:)
问题是这样的,VUGen里面录制的脚本,回放的时候出错,错误信息是:
[Net An. Warning ( 218: 9f0)] Request Connection: Remote Server @ 66.102.7.147:80 (Service=) Failed attempt #3. Unable to connect to remote server: rc = -1 , le = 0)
[Net An. Error ( 218: 9f0)] Request Connection: Remote Server @ 66.102.7.147:80 (Service=) NOT PROXIED! (REASON: Unable to connect to remote server: rc = -1 , le = 0)重新安装了LoadRunner,结果同样。从错误的表面看是代理的问题,但是本机上网不需要任何代理。也没有设置任何的代理。搜了一下,发现了问题的解决方法。其实挺搞笑的。居然是杀毒软件的问题。
下面是详细的讨论经过(英文的,大家将就看,看不懂就查查辞典)
==================================================
I’ve installed LR on a new machine and I’m encountering an error at record time. This is the error as recorded against loading the Google home page, along with the three warnings that proceed it:[Net An. Warning ( 218: 9f0)] Request Connection: Remote Server @ 66.102.7.147:80 (Service=) Failed attempt #1. Unable to connect to remote server: rc = -1 , le = 0)
[Net An. Warning ( 218: 9f0)] Request Connection: Remote Server @ 66.102.7.147:80 (Service=) Failed attempt #2. Unable to connect to remote server: rc = -1 , le = 0)
[Net An. Warning ( 218: 9f0)] Request Connection: Remote Server @ 66.102.7.147:80 (Service=) Failed attempt #3. Unable to connect to remote server: rc = -1 , le = 0)
[Net An. Error ( 218: 9f0)] Request Connection: Remote Server @ 66.102.7.147:80 (Service=) NOT PROXIED! (REASON: Unable to connect to remote server: rc = -1 , le = 0)I’ve reinstalled LR twice with the same results.
One other thing I’ve noticed is that under Run-time Settings, the browser emulation was set to IE 4 and no O/S. I installed LR on a second machine and the setting is IE 6/NT 5.1. The recorder also worked as expected. However this is an older box and I’d rather not use it.
The Mercury forums point to possible spyware, but the new machine is clean. If anyone has any information it would be most appreciated.
1. What version of LoadRunner or PerformanceCenter are you using? 8.1.0.0
2. What is the protocol you are recording? HTTP/HTML
2.1 If HTML - are you using HTML-Advanced with URLs or, NO
2.2 URL mode with Concurrent groups, or NO
2.3 URL mode without Concurrent groups? NO
3. Which LoadRunner/PerformanceCenter feature or service packs are you using? None
4. What kind of LoadRunner license do you have - Subscrīption, Perpetual, Virtual User days, or Evaluation? (choose the one that fits your license model) Evaluation
4.1 If subscrīption, is subscrīption current or expired?
5. What platform(s) and Operating Systems? Include version and service packs. IE 6.0 SP2 and XP SP 2
6. If you have filed a service request with Mercury, what have they told you at this point with respect to your issue?
I’ll be filing an SR today.Thanks,
Dan
==================================================
Dan, since you are using the evaluation version, please turn your questions to your field sales engineer for HP|Mercury or your VAR for assistance prior to your sale. It is their job to make sure all engineering issues are addressed prior to your purchase of LoadRunner, just as it is the sales representative’s job to make sure all organizational and logistical issues are addressed prior to your purchase. If your VAR or vendor sales engineer is unresponsive to your inquiries, then seek a new representative to work with. However, it has been my experience that a slight threat to go with another vendor that can better support your environment tends to light the fire under most sales types, particularly with a product like LoadRunner that easily can exceed $100,000.00 USD when optioned out.Thank you for your interest in evaluating LoadRunner prior to your purchase.
James Pulley
====================================================
Thanks for the suggestion.The controller license is purchased and this is the machine designated for activation. I’m dealing with Mercury on this issue as well.
This is not the first time I’ve had installation issues with a Mercury product and I’m sure it won’t be the last. As I mentioned this is a new laptop so maybe that has something to do with it. But I’ve seen one other post in this forum describing my same problem and there was no resolution so I’m not optimistic that this will be resolved quickly.
If Mercury/HP provides a solution I’ll post it here.
======================================================
A Mercury engineer provided a workaround for this recording error. Under Tools -> Recording Options -> Network -> Port Mapping, the capture level was changed from ‘Socket Level Data’ to ‘WinINet level data’.When I get the fix for ‘Socket Level Data’ recording error on this PC, I’ll post it here.
Dan
=========================================================
Thanks, Dan. You may not know it, but it all too rare for people to come back and post solutions, so we are truly grateful.
================================================
Thanks for that Peter. I find it worthwhile to post resolutions as I hope they can help others.So I solved my problem. Digging into the process explorer pointed to the biolsp.dll from Wave Systems. I Googled it and found several discussion forums indicating it causes problems with other applications as well. The patch download link on the Wave website was dead. I don’t need bio security on my Dell so I uninstalled the whole program group. VUGEN is now working as expected.
Good luck to all,
Dan
====================
so let me get this straight…you have to disable the bio security on the computer to get it to work? Seems like an interesting problem if you are required to have the security on as a company policy.
================
That’s a great point jamesso and I agree; this wasn’t the solution I was looking for. Unfortunately there is more going on here. We aquired a term license with Mercury/HP and it activated the virtual users two weeks ago, even though the installation on the controller did not go as planned. But I’m at the point now where we’ve already burnt too much and can’t afford to burn any more of the license. I have to get back on track with the client so I’m going with this for now.Regards,
Dan
======================
So the term license started before you could actually get a controller working to use them….hmmm. Is HP flexible enough to own this problem and give you time that you lost?
=======================
Time will tell jamesso. I do want that time back and I am looking for consideration, but at this point I’m not optimistic.I don’t mind saying at this point that I was unhappy with being tied to a start date to begin with. This is the first time I’ve worked with a term license from HP and I would be very happy if it is my last. In my previous term engagements I used Segue/Borland. With their model I activated the license the day I was ready which got the project more value, more flexibility, and less waste.
===========================
Hi Dan,i had same problem with new LR 8.1 installation with trial 10 days licenses…and my friend with 8 years LR experience say me possible solution(99%):
you need to disable(sometimes uninstall) any antivirus software during installation process (LR need to notify USER before starting installation process, but i not find it),
after restart the PC you can to enable AV again.Try and Enjoy
=======================原帖:http://www.rickyzhu.com/2007/04/24/case-five-of-loadrunner/trackback/
-
LoadRunner案例分析之四
2007-5-14
最近在论坛上看到几次这样的问题,今天突然想起来,觉得比较典型,有必要分析一下。
这个问题的具体描述大概是这样的:在web应用下,模拟十个用户并发进行数据的添加,结果每次执行全部成功,但是数据却不是十条,每次数据不一样,但是都比十小。
乍一看,可能是数据参数化的问题,其实仔细想想,道理其实很简单。是数据库的问题。
大多数的数据库都有记录锁的问题,第一次的数据操作没有commit之前,第二次对同样表进行的操作可能就没 有办法成功。所以每次数据的条数都达不到十条。但是为什么每次都不一样呢?这个问题也容易解释,因为每次的操作服务器的响应时间是不同的,所以不同虚拟用 户的提交时间也不是不同的,这样一来,就导致每次提交成功的数据量不一致。导致每次结果的条数可能是不同的。其实这个问题,跟LoadRunner的使用并没多大关系,而主要是对数据库的了解和应用执行机制的了解。如何解决这个问题,我现在还没有好的思路,是否对应用程序写数据库的过程作一些改进?大家可以一起探讨。
原帖:http://www.rickyzhu.com/2007/04/22/case-four-of-loadrunner/trackback/
-
LoadRunner案例分析之三
2007-5-14
把昨天的功课补了,本来打算昨天分析一个典型案例,可惜太忙了。所以这么说。
以前一直没有解决的问题,利用LoadRunner测试一个应用的时候,需要验证域用户,所以即使录制成功,每次回放的时候都提示错误,用户名和密 码不对,对此耿耿于怀了很久。今天居然解决了。解决方法就是一个简单的函数调用: web_set_user,此函数的解释和用法如下:
The web_set_user function is a Service function that specifies a login string and password for a Web server or proxy server. It can be called more than once if several proxy servers require authentication. web_set_user overrides the run-time proxy authentication settings for user name and password.
When you log onto a server that requires user and password validation, VuGen records a web_set_user statement containing the login details. However, there are some more stringent, authentication methods for which VuGen is unable to insert web_set_user statements. See User Authentication for more detail. In such cases, you can add web_set_user into your scrīpt manually.
When you run the scrīpt, LoadRunner automatically submits the user authorization along with every subsequent request to that server. At the end of the scrīpt, LoadRunner resets the authorization.
This function is supported for all Web Vusers, and for WAP Vusers running in HTTP mode only. It is not supported for WAP Vusers running in Wireless Session Protocol (WSP) replay mode.
Example 3
The following example was inserted manually by the user into the scrīpt as the Web server “mansfield” uses NTLM authentication. VuGen cannot record NTLM or Digest authentication. Note that for NTLM authentication the domain name “mansfield” followed by a double backslash must be prepended to the user name:web_set_user(”mansfield\\freddy”, “XYZ”, “mansfield:80″);
原来一直没有想到域的设置,结果一直不行,现在可以了。
另外一个问题跟之前这个有关系,那就是验证码的问题,之前曾经看过段念(关河大侠)的关于验证码的是三个解决方案,这里是第四种解决方案。对于一些比较简单有规律的验证码可以搞定。对于复杂的比如有干扰的,或者没有规律的则参考关大侠的其他解决方案。这个应用经过源代码分析,发现每次客户端请求过来的验证码都可以取到,格式如下固定,是四个数字的组合。经过多次尝试发现如下规律:
验证码如下: 52|52|52|51|46|47|49|55|
对应界面的验证码是: 6039
规律是第2,5,8,9位的值减去46对应的即是验证码。
有了这个规律,就可以通过关联提前取得服务器的验证码,然后通过简单的计算,得到结果。详细代码如下:- #include "web_api.h"
Action()
{// char* str = “52|52|52|51|46|47|49|55|”;
char result[64];
int num1;
int num2;
int num3;
int num4;int temp1;
int temp2;
int temp3;
int temp4;web_set_user(”XXXXDomain\\szXXXX”,
lr_decrypt(”46246a2633f042c67758b9ddc2b863038aa063c03d7e”),
“XXXX.XXXX.com.cn:8080″);web_reg_save_param(”check”, “LB=Image=”, “RB=\\”, LAST);
web_url(”Register”,
“URL=http://XXXX.XXXX.com.cn:8080/xx/main/Register”,
“Resource=0″,
“RecContentType=text/html”,
“Referer=”,
“Snapshot=t1.inf”,
“Mode=HTML”,
LAST);lr_think_time( 6 );
sscanf(lr_eval_string(”{check}”), “%d|%d|%d|%d|%d|%d|%d|%d”, &temp1, &num1, &temp2, &temp3, &num2, &temp4, &num3, &num4);
num1 -= 46;
num2 -= 46;
num3 -= 46;
num4 -= 46;sprintf(result, “%d%d%d%d”, num1, num2, num3, num4);
lr_log_message(”getvalue : %s”, result);
web_submit_form(”Register;jsessionid=6726009A7D21963602B166D91C883413″,
“Snapshot=t2.inf”,
ITEMDATA,
“Name=Register.reason”, “Value= “, ENDITEM,
“Name=set_attach”, “Value=result”, ENDITEM,
LAST);return 0;
}原帖:http://www.rickyzhu.com/2007/04/17/case-three-of-loadrunner/trackback/
-
LoadRunner案例分析之二
2007-5-14
昨天在广州交流会开始之前,一个朋友问起这样一个问题:他们公司的系统上线以后,用户分布在各个不同的地区,而且接入系统的方式和带宽也不同,这种情况下进行性能测试,如何保证更加真实的模拟用户行为?用LoadRunner可以做到吗?
回答当然是肯定的,其实这些都是简单问题的组合,这样的问题考察的也是你对工具的熟悉和掌握程度。在VUGen里面,是可以通过RTS (runTimeSetting)来模拟一个单个用户更加真实的行为,比如思考时间,网络带宽,是否清除cache等等。同样的设置也可以在场景中进行设 置。而且LoadRunner提供设置不同用户组不同RunTimeSetting的功能。以达到模拟不同用户行为的更加真实组合。
假设有三种不同带宽的用户,而且上传和下载的带宽也有所不同,那么可以录制两个脚本,分别模拟上传和下载的用户行为,再Controller里面,建立六 个不同的脚本组,脚本组的用户数可以按照绝对或者百比分的方法分布。比如100,50,200用户或者20%,40%,40%等,这取决于你的业务模型。 然后设置不同的带宽和分布情况。这样不同用户组的虚拟用户模拟出来的就是不同带宽的用户实际接入情况。就可以满足之前的问题的要求。参考下图:
原帖:http://www.rickyzhu.com/2007/04/01/case-two-of-loadrunner/
-
LoadRunner案例分析之一
2007-5-14
昨天和Zee兄交流的时候,探讨了最近无忧测试论坛上的两个问题,我们俩的看法基本一致.
第一个问题:是如何利用LoadRunner判断HTTP服务器的返回状态. 两种方法,第一种方法是利用LR的内置函数web_get_int_property, 如下是一个简单的例子:
Action.c
{
int HttpRetCode;
web_url(”my_home”, “URL=http://my_home”, “TargetFrame=_TOP”, LAST);
HttpRetCode = web_get_int_property(HTTP_INFO_RETURN_CODE);
if (HttpRetCode == 200)
lr_log_message(”The scrīpt successfully accessed the My_home home page”);
else
lr_log_message(”The scrīpt failed to access the My_home home page “);
}另外一种就是最原始的办法,也是Zee兄这种高手才最先想到的,自己取HTTP服务器的数据,然后利用关联函数分析啊. (果然是高啊). 其实所有的东西都可以从服务器的返回取,然后自己动手解析,呵呵. 举个不太恰当的例子: 你需要一套家具,可以去家具市场挑,当然也可以自己买木材原料和工具,动手加工. 那才是最合乎自己需要的. 这样一比喻, Zee兄弟似乎成了木匠了,嘻嘻~~
第二个问题:动态数据参数化的问题.
其实第一次看到这个问题,我没有马上反应过来,后来仔细想想, 明白了. 就是需要参数化的数据不是静态的,是动态的. 比如从数据库中选出来的.
针对这个问题,我跟Zee兄弟的看法一致,应该提前从数据源(比如数据库)把数据选取出来,然后在执行的时候直接进行参数化的选取. 反之,如果在程序执行期间,进行数据的选取,将可能带来数据库服务器的强大压力,因为参加并发执行的每个虚拟用户都去数据库搜刮一下,对数据库将是多么严 峻的考验啊.
朋友或者同事之间的探讨是加深对问题理解和增加知识面,扩展视野最直接的途径和方法,加强沟通,keep in touch.
原帖:
http://www.rickyzhu.com/2007/03/23/case-one-of-loadrunner/
-
自动化测试的计划和实施第四阶段
2007-5-10
第四阶段,也是最后一个阶段了。在开始这个阶段之前,还想多说几句,今天又有朋友说他们公司打算实施自动化测试了,开发经理主导的。他们对测试自动 化的认识还是停留在自动化测试工具上。只是十分要命的。自动化测试的初衷是要缩短测试周期,出发点是好的,但是步骤明显有问题,测试周期的缩短是可以靠提 高测试效率,改进测试方法和引进测试工具来达到的,但是不是决定因素。测试流程的规范才是最根本的,如果一个组织测试流程不规范,想通过引入自动化测试来 规范这一流程是很不现实的。
好了,现在开始正题。
自动化测试的第四阶段是收获和ROI(投资回报)
进入这个阶段,基本组织的测试自动化已经步入正轨和良性的发展,随着回归测试的不断深入,自动化测试的投入也 初显成效。一方面,通过不断的回归测试,测试的质量得到了一定程度的提高,另外,测试效率也大大提高。同事,因为测试和开发的沟通渠道日益畅通,产品的稳 定性和可测性也有了改进。这是一个良性的互动过程。通过不断的测试执行,测试的投资回报这个时候可以进行一些统计。
先谈谈投资回报(Return On Investment)
ROI不是自动化测试专有的名词, 任何项目都要讲求ROI, 没有事先做过ROI分析的项目都会面临失败的危险
ROI是投入总成本和实际获利之间的一个对比率, 如果实际获利大于实际投入总成本, 则本次投资是合算的
ROI可以由两方面来计算: 在向某件事投入之前, 先估计一下可以获利多少, 在执行之后再看一看实际获利多少, 前者是用度量的方法来预测, 后者是进行评估。
一个针对测试(没有自动化)改进过程的ROI的简单计算如下:
一个简单的自动化测试投资回报率的计算方法
自动化测试成本 = 工具软硬件成本 + 脚本开发所耗成本 + (脚本维护成本 X 脚本执行次数) + (脚本执行成本 X 脚本执行次数)
手工测试成本 = 测试用例设计开发成本 + (测试用例维护成本 X 测试用例执行次数) + (手工测试执行成本 X 测试用例执行次数)
利益 = 手工测试成本 – 自动化测试成本
ROI = 利益/自动化测试成本
注: 自动化测试的ROI无法显示在测试过程中查找出来的缺陷个数
一个可以参考的自动化测试的ROI的计算例子。
至此,这个系列的原创文章全部结束。
-
自动化测试的计划和实施第三阶段
2007-5-10
进入到自动化测试的第三阶段,此时距离当初开始实施自动化测试的决定,两年三个月已经过去了,可见自动化测试的实施不是一蹴而就的,更不可急功近利。第三个阶段的标志是有点到面的全面铺开。
自动化测试开展的初期,可以是一个小组,几个人进行小面积的试点,这样投入的成本不是很大,即使失败了,也是可以理解和接受的,而要想取得投资回报 或者大面积的试用和推广,前提的试点也是必须的。 但是仅仅靠几个人是不可能把自动化测试做起来的。自动化测试的开发工作是一个持续的过程,又是一个矛盾体。
持续的过程体现在:随着回归测试的不断进行,老的功能不断被自动化起来,就有一定的维护工作量,另外,新功能的测试不断完善和稳定,又变成可以进行 自动化测试的老功能。所以自动化测试是一个持续进行的过程,另外,又是一个持续改进的过程,随着自动化测试技术的不断成熟和测试业务的不断丰富,以前的老 功能的测试用例或者测试脚本也同样需要进行更新和维护。
矛盾体体现在两个方面:首先自动化测试的开发和维护本身需要对测试脚本和测试业务有一定的熟悉。实际情况往往并非如此,精通测试业务的测试工程师一 般情况下对测试脚本甚至自动化测试一无所知。而对测试开发非常熟悉的自动化测试工程师又不熟悉业务,所以矛盾就这样产生了。另外,从整体来看,自动化测试 工程师的数量肯定远远小于手工测试工程师,这样,对业务测试工程师熟悉自动化测试知识,了解测试平台和测试脚本就提出了更高的要求。如果有一半的测试工程 师都能熟悉测试脚本,可以试用测试平台进行相关的自动化测试开发,那么可以肯定的说:自动化测试已经成功了一大半。
矛盾的另外一个方面是资源的问题。手工测试工程师往往由于测试进度的压力疲于应付,所以对自动化测试平 台或者脚本的学习缺少时间,这个时候,测试经理就需要有很好的协调能力,可以从团队内部抽调部分懂开发,学习能力快的测试工程师进行集中的培训,在测试团 队内部形成一种自动化测试的氛围,从而引导整个测试团队更好的进行自动化测试的开展。还有一种问题,就是我们在实际操作过程中遇到的,虽然不是典型,不过 也应该注意避免这种情况的发生,手工测试工程师有些保守的观念,对自动化测试技术是排斥的。他们错误的认为,自动化测试的开展是对手工测试的冲击,如果所 有的feature都被自动化执行了,那么手工测试就被取代了。其实这是一种十分狭隘的心态,至于道理为什么,前面也已经提及了,自动化测试是一个持续的 过程。这里就不多说。
如果自动化测试可以顺利在一个系统测试团队中开展,并且很好的坚持下去。很快自动化测试的效果和投资回报就能体现出来了,这就是本系列的最后一部分,下期继续。
-
自动化测试的计划和实施第二阶段
2007-5-10
自从上个月介绍了自动化测试的计划和实施第一阶段,这阵子一直都在忙别的事情,加上博客访问断断续续,所以没有接下去。打算利用这几天的时间把剩下 的几个阶段完整的记录下来。也对打算实施自动化和已经在实施自动化过程中的朋友有点帮助吧。另外,也完成自己的承诺,五一之前完成这几篇文章。嘻嘻。
第二阶段的副标题:从烦杂到豁然开朗
其实这是我们经历的真实的过程,从一开始的没有完整的自动化平台和对平台重要性的认识不足,加上缺乏相关的经验,这个过程可谓吃尽了苦头。这这个阶段,即使有了测试平台的支持,随着脚本技术的进步,我们仍然要为以后的维护和扩展付出很大的代价。
这样的痛苦过程经历了大概半年左右的时间,当随着脚本技术的探索思路越来越清晰的时候。其中最关键的里程碑是API概念的提出,就是一个分层的概念。其实也没有多少创意而言,只是在自动化测试概念中提出来,颇有一些不同。
自动化测试的被测试对象总是千差万别的,针对不同的测试对象开发不同的API显然不是办法,我们提出了 三层API的概念。底层API,针对一些基本的操作,比如界面GUI的操作,封装一些基本的原子操作方法:按钮,下拉框,列表框等。针对服务器的操作,封 装一些telnet,执行命令,获返回结果等。针都数据库操作(oracle和mysql分开进行),封装一些查询,提交,连接等原子操作的API。随着 业务的不断变化,这些原子操作不需要进行维护,只有在需要的时候进行扩充。原子层之上是逻辑层,这一层的API变化的可能性比较大,对他们进行版本管理, 这是一个颗粒相对较大的封装,可以充分一些原子层的操作进行组装。最大限度的重用原子层的代码。最上层就是业务层的操作,这部分的颗粒更大。利用业务层的 接口进行组装。需要注意的是,对于每一层的API,接口要进行很好的设计和论证,充分考虑扩充和重用。必要的时候利用变参。
上面讲了一些具体实现,这是从技术的实现角度考虑的。另外,平台的开发工作是同步进行的。好的技术实现离不开平台的支撑。还需要重复那句话:好的平台不仅仅使得测试开发变得更加容易,而且可以统一测试开发人员的思想和规范性。
平台的东西只做简单介绍,我们平台开发基于Linux,主要语言是前台的Java和后台的Tcl,数据库选的Oracle。整个系统是一个分布式的 测试平台,前端是Web浏览器,后端是执行引擎。用户可以直接利用前面说的原子API在平台上书写测试用例,并进行执行。 这是一个很好的IDE。有很多比较强大的功能,包括测试执行,定制,开发,统计。
至此,自动化进入了相对来说正规化的阶段。
-
自动化测试的计划和实施第一阶段
2007-5-10
从自动化测试决策的制定到决定进行实施,这中间有很多工作要做.包括说服你的老板,自动化是一个持续投入的过程,而且初期投入很大,短期内无法看到 回报,而且要持续进行投入,不能半途而废,投入的过程中需要各个部门的通力合作,上至包括系统分析师,研发人员特别是研发部门经理,项目经理.下至系统测 试部门等等,每个环节都跟自动化测试有着直接和间接的关系. 一旦决定开始进行实施自动化测试,就基本上没有回头的道路,因为前期的巨大的投入,导致如果想要中途终止,那么前期的巨大投入就是严重的资源浪费.
开头讲了一点题外话,现在开始介绍实施的第一阶段-从无序到有序.
我参与的这个产品的自动化项目开始于二零零三年初,从一开始就缺少经验, 我们走过的每一步现在回想起来都是痛苦的经历.因为大家都没有类似的自动化经验,加上团队的每个成员基本上都是开发出身,加上项目进度紧张,缺乏必要的自 动化测试理念和自动化测试的相关培训.更严重的事,这个时候,自动化刚刚起步,没有一个自动化的平台支持. 结果是每个工程师把一个单独的自动化测试项目(一个模块)作为一个独立的工具进行开发.结果导致自动化测试用例的混乱,而且无法进行维护.不同工程师开发 出来的东西也是千奇百怪.自动化团队的工程师慢慢的失去了耐心和信心,产生了抵触情绪,这个为以后的自动化测试的顺利开展带来了一定的障碍.
这个时候的教训就是不能急于求成,不能为了一味的追求速度和效率. 自动化团队的经理应该控制项目的节奏,不能妥协于项目的巨大压力. 逐步培养自动化开发工程师的兴趣和探索动力.
另外就是自动化团队成员没有系统全面的培训和严格的规范约束,即使每个人都有能力开发出来自动化测试脚本,但是却难于维护和执行.这个时候我们就认 识到自动化测试平台或者架构的重要性不仅仅在于使得测试脚本的开发更加容易进行,而且可以统一大家的思想和测试脚本的一致性. 在这之前我们对自动化测试平台的认识比较肤浅.
在不同的阶段,自动化团队的成员构成也不尽相同. 在这个阶段,自动化团队的成员基本上都是自动化开发工程师.就是把手工的测试模块进行脚本化. 然后可以自动化进行执行.
-
自动化测试的计划和实施总纲
2007-5-10
测试自动化的计划和实施系列文章,最近开始酝酿思路,初步打算分为四个部分来组织, 这也是我亲身经历的一个自动化项目的四个阶段,大家可以对号入座,看看你所在的公司或者组织处于自动化实施的哪个阶段?
第一个阶段: 从无序到有序
这个阶段主要是自动化测试的引入,从一开始的无序的自动化测试,摸着石头过河, 到慢慢找到一些窍门,其中的关键点/转折点是自动化测试系统或者说自动化测试平台的出现. 这个时间大概持续了1年左右. 这部分重点介绍如何找到通往有序的方法和思路.
第二个阶段: 从烦杂到豁然开朗
这个阶段主要介绍基于原始的自动化测试系统开发积累到一定程度的问题显现. 逐步暴露的问题在这个阶段到了非解决不可的程度,主要的问题是什么? 解决的思路是什么? 到也是我们自动化测试进展最艰难的时候.希望能对你有所帮助.
第三个阶段: 从点到面铺开
这个阶段主要介绍自动化测试系统和平台的推广, 好的平台是推广和大面积使用的前提和保证.如何保证平台在推广过程中能顺利? 推广过程中我们遇到了哪些阻力? 我们是如何解决这些阻力和克服困的?
第四个阶段: 收获和ROI
这个阶段分析在自动化测试推广以后的一些问题,我们应该如何计算我们的产出和投入,投资回报应该如何计算? 这个阶段我们会遇到什么问题? 如何解决?
最近一直比较忙,可能时间不是很连续,初步打算再五一之前能完成这几篇文章. 希望大家有耐心 ^_^ ,同事也希望能多听听大家的意见和对文章的期望.



