Professional Documents
Culture Documents
com
《每日E测》 目录
刊首语.........................................................2
第三期:2009 年 10 月 E测中国大型自动化测试沙龙报道.........3
如何构建成功的QA团队...........................4
关于SilkTest中引用操作符@的使用.......12
watir学习系列之二.................................14
CLI自动化测试初体验.............................18
报表数据的智能统计..................................24
循序渐进学测试.......... ...............................37
《QTP项目应用和进阶》样章选读...........42
征稿启事...................................................45
主办单位:E测中国
出版单位:《每日E测》编辑部
主编: 朱 伟
美工 :杨 冬
本期责任编辑:朱 伟
主页:www.5etesting.com
投稿:askwebmaster@5etesting.com
刊首语
——汗水与欣慰
10 月,丰收的 10 月,正如祖国 60 华诞那般,喜庆祥和。随着我们的《QTP 项目应用与
进阶》的出版和发行,E 测中国也在迅速的成长,队伍也在扩大。
10 月 18 日,在百年复旦,见证了我们第一次的沙龙,让 E 测中国和他的热心关注者进
行了一次零距离的交流,其间我们介绍了 E 测和 E 测第一本书,风过无息也进行了一次自动
化测试在企业中的普及的讲座,从自动化测试现状开始分析,我们遇到的问题和自动化测试
引入条件,我们测试框架的关注等方面尽享介绍和分享。最后各位专家和与会人员进行了热
烈的答疑。
通过本次沙龙,E 测又加入了很多热心的测试人员,他们踊跃的提供原创,我们的翻译
团队依然高质量的精品文章,加上《QTP 项目应用与进阶》的样章阅读,我们的 E 测 3 期,
更精彩。
我们的测试,我们的 E 测。
因为专注,所以专业
E 测中国
2009 年 10 月
沙龙上,来自方正软件(苏州)有限公司的测试总监朱伟做了名为自动化测试在测试项
目中的普及的讲演,集中探讨了自动化测试的国内现状,企业引入条件、实践中遇到的问
题和解决方案。
朱伟认为,尽管自动化测试普及到国内已有几年的时间了,但现阶段国内企业中自
动化测试还是出于起步阶段,水平也是参差不齐。而企业要想引入自动化测试,使自动化
测试真正为企业创造价值,最主要的困难在于相关人才的匮乏,特别是中高级人才如自动
化测试架构设计人才和自动化测试管理人才。合格的自动化测试高级人才不仅需要丰富的
测试经验,还要求懂开发,了解业务。
据来自昂讯咨询有限公司的猎头周女士透露,目前外资 IT 企业对有三年自动化测试
经验的工程师开价一般在 8K 到 15K。
然而,国内中高级测试人员还面临一个培养难,提升难的困境。由于对测试工具和
业务的依赖性较大,一般情况下,他们在遇到问题时,求助于外部成功的机遇不大。沙龙
上,与会的测试工程师们都表示要加强测试师群体内部的交流和分享,这样的职业沙龙应
该定期举行。
转自:http://news.csdn.net/a/20091021/214255.html
伟大软件测试团队的特质
初始阶段——问自己下列问题:
你们团队的新成员知道自己入选团队的原因吗?
团队新成员常常会为自己在团队中存在的价值而感到困惑。虽然你可能会说他/她不需
要知道目标,只要根据任务安排进行工作就可以了,这是很多高管的想法。但是清晰明确地
定义角色和职责可以帮助个人在更大的背景下理解这个项目。它包括工作相关内容、个人技
能以及早期定义的团队共同目标。这些将会对工作会有巨大的作用(帮助),因此也会改善
其质量。
领导权:
随着任务和团队规模的增加,项目的复杂性也随之增加,这时让一个领导者跟踪每个人
的任务情况是不太可能的。因此,一个解决办法就是下放权力给个人。然而,如果没有经过
深思熟虑,这种虚拟的权利经常表现为一种阻碍而非解决方案。仅仅委派给个人作为负责人,
而没有认真考虑过他/她是否能胜任不会带来预期的效果。
团队中专职成员的知识
专职成员是指那些在相同项目或类似工作中投入大量时间的人。他们掌握大量关于项目
的知识,是团队的资源。通过合适的方法激励出他们的专业知识,从而使整个团队都会从中
受益。这些人应该在其他工作上表现勤奋而非自大。常言说:
“往昔成会滋生自满”。他们是
重要的成员,少了他们可能会影响到整个团队,但这不是唯一的准则。因为这也给了其他有
相同能力的人在这个位子上表现的机会。
激励——关键因素
激励不总是把大家聚集起来发表演说,而是抓住每一次机会将这些话单独说给每个成
员。每个成员都有独特的个性和工作方式。对 Test Leader 来说,这个工作要比“说”来的
复杂,因为它要求领导者不仅从分配任务的角度而且从整个项目的角度,去体会每个成员的
想法。积极正向的领导态度将会给团队注入强大的活力--这一点来源于在伟大测试团队中的
工作经验。如果领导者抱怨工作时间过长或坚持要求团队成员按无法实现的计划行事,你的
态度也会反映在你们的团队中。真正的领导者应该是这样的,尽管计划不合理,还是要给团
队成员注入信心,让他们相信自己的能力。同时,在背后为团队为这个计划所做的努力做出
解释和辩护,而不是推迟计划使得成员工作变得简单。
认可
每个人都希望自己的工作得到认可。当一个人因为工作受到奖励,领导者就有责任告诉
其他人获奖原因。在这个问题上,领导者的决定必须是公正的。它会使受到奖励的人得到团
队成员的尊重。团队成员们也会照这个样子去努力,最终团队也会从中获益。在一个虚职领
导的团队中,成员们的工作经常会因为领导者看不见而得不到肯定。这时虚职领导就应该明
确团队成员们工作中的成就和贡献。关心成员的工作,团队成员欢迎,团队成员愿意将来也
和他共事,这样的虚职领导将来就会成为真正的领导。
一对一面谈
经常可见在项目收尾时进行成员角色职责定义,并对成员进行评定。这是一个正常的流
程。但非正式的一对一面谈也会对这个流程起到促进作用。这些非正式面谈的话题应该是团
队成员不愿在小组会议上谈的,诸如成员未来的发展机会、对今后领导者或者负责人的确定,
“不要告诉人们怎么做事,而是要告诉他们做什么,然后让他们的成就给你惊喜。” —— 乔
治·巴顿
结论
创建一个成功的团队要考虑相当多的事情。关键词——团结一致、信任、尊重他人的意
见、主张以及无畏的行动,这些是伟大团队的要素,一般说来,这些对任何成功的团队都是
必需的。读完本文以后,看一下你的团队,问你自己:
“你工作在一个伟大的测试团队中吗?”
或者“你愿意尽一切努力来构造一个伟大的测试团队吗?”不要等了,下一秒就可以开始构
造“伟大的测试团队”了。
相逢是开始,相聚是过程,相持是成功。——亨利·福特
“A team with a star player is a good team, but a team without one is a
great
team.” - Author unknown.
The above quote from Author leads us to discussion on great teams and its
characteristics. The article stems from experience gained while working
for different teams, observation of team members behavior under time
pressure coupled with complex nature of project.This holds good for
Software Testing team which finds prominence place in a project activities
and requires right mix of people for performing these activities.
Why does some software testing team fails and others succeed? Is there
any solution for this problem.The answer is “Yes”/”No” – depends on
how the team member aligns himself towards common goal of the team not
at the cost of suppressing his team members interest but working together
with common understanding of problem at hand.
The success also depends on leadership attributes possessed by Test Leads
–“Captain of ship”.
Does your new team member knows the reason he has been selected for the
team?
Ownership:
When project complexity increases in terms of tasks and team size, it would
not be possible to keep track of individuals tasks by single leader.Hence
the solution to this would be assigning Ownership to individuals. However
this virtual leadership often act as a impediment rather than solution
if not considered appropriately. Mere appointment of individual as Owner
without considering a serious thought of whether he/she could manage their
team would not bring desired result.
The term-seasoned players indicates the person who has spent considerable
amount of time in same project or similar kind of work. They are resources
who have vast knowledge about project. By channeling their knowledge in
proper way,the entire team could be benefited.These individual should
show an act of diligence towards others work rather than arrogance.It is
Motivation is not all about giving speech when members of team are
assembled but rather every effort should be made to tailor these speech
to address each individual. This means each of team member has unique
qualities and unique working style. This task is rather complex than said
for Test Lead since it will bring effort on leaders part to sense the team
member’s feeling not only to task assigned to members but also on project
as whole. Positive attitude of lead will energies team – This is quoted
from experience working for one of great test team.If the leader complains
about long working hours or insisting the team members to work at schedule
which is impossible to meet, your team will reflect your attitude. He/She
is true leader who inspite of unreasonable schedule instills the
confidence among team members to believe in their abilities and at the
same time working at the background on his part to justify his team members
effort working on unreasonable schedule but bring an extension to these
schedule to make his team members job simple.
Recognition
It is often seen that roles and responsibilities for the members are
defined and assessment is done at the end of project.Agreed that it is
formal process.But informal talk like One – One basis adds to this formal
process as well. These informal meeting should address issues at present
whom members wont feel like conveying during group meeting, future
opportunities for members, identifying future leaders/owners of the team
and equally acting on issues at hand after feedback from team
members.Timely and appropriately delivered feedback can make the
difference between a team that hides mistakes and a team that sees mistakes
as opportunities. The responsibility for poor performance is usually a
function of the team structure rather than individual incompetence; yet,
it is individuals who are sent to training programs for fixing. If team
members feel like they are pitted against one another to compete for
rewards and recognition, they will withhold information that might be
useful to the greater team. When a team has problems, the effective team
leader will focus on the team’s structure before focusing on individuals.
“Don’t tell people how to do things, tell them what to do and let them
surprise you with their results.” - George Patton
Conclusion
Over To You!
What do you think from your experience, What are your characteristics for
building a successful QA team?
在 SilkTest 中有一个非常有用的操作符@,其类似于指针,主要的作用是进行引
用调用,所以也称引用操作符。我们可以用它来对函数,对象,记录等进行引用
调用,通过@这个操作符的使用,我们可以写出更具灵活性,高复用性的自动化
测试脚本。这里我对它的使用方法进行一个简单的介绍,不足之处还请大家指正。
1.用于函数的引用调用
[] @( sFunctionName)( sArg)
在此例子中,@的作用是将字符串类型的函数名转换成对函数的直接调用,可以
实现对函数的动态调用,从而对函数灵活控制和复用。
2.用于对象的引用调用
[-] VOID MyFunction (STRING sFieldName, STRING sNewValue)
[ ] wMainWin.@( sFieldName).SetText(sNewValue)
在此例子中,@的作用是将字符串类型的对象名转换成对对象的直接引用,可以
实现对对象的灵活操作,减小代码的复杂度。[提示:这里的对象名是对象的逻
辑名]
3.用于记录/枚举型数据的引用调用
[-] VOID MyFunction (STRING sFieldName, STRING sNewValue)
[ ] wMainWin.@( sFieldName).SetText(sNewValue)
该例子实现了对记录的直接引用,一般用的不是很多。
以上是@在SilkTest中的一些主要使用方法,而其中函数引用和对象引用运用
的比较多。当下次我们再写一堆复杂的脚本时,或许我们可以考虑下是否我们可
用@让我们的脚本更加灵活,更加高效呢。
watir学习系列--Excel操作
excel.workbooks.Add 1 #单工作表
退出 Excel: excel.quit
watir学习系列--文件操作(创建文件)
class CreateFile #定义类,类名首字母需大写
def rows_to_file(rows) #定义类方法
@@data_rows = rows #定义类变量,无需申明变量类型
@@content = ''
@@filename = "c:\\filename.txt" #定义文件路径
@@data_rows.each do |x| #遍历数组
@@content = @@content + x.to_s + ‘-‘ #to_s:转换为字符串
end
#写文件,参数说明:"a+" 在原有内容后追加数据 "w" :先将文件清空,再写入
File.open( @@filename, "a+" ) do |file|
file.puts @@content
end
end
end
watir学习系列--eclipse环境搭建
一、JDK 安装及配置:
(1)默认安装 JDK,路径如:C:"jdk1.5.0_11
(2)配置环境变量:
打开"我的电脑"右键属性--"高级"--"环境变量"页面,
在系统变量里,添加变量 JAVA_HOME,变量值:C:"jdk1.5.0_11
在系统变量里,添加变量 CLASSPATH,变量值:.;%JAVA_HOME%"lib
二、Eclipse 下载安装:
下载地址: http://www.eclipse.org/downloads/
三、RDT 安装配置 :
下载地址:http://sourceforge.net/project/showfiles.php?group_id=50233
相关配置方法: http://os.51cto.com/art/200605/26177.htm
Watir学习系列--环境配置
一、安装 ruby:
ruby 下载地址:http://www.ruby-lang.org/zh_CN/downloads/
下载 Windows 一步安装版,默认安装,安装成功后可以运行命令查看版本:ruby –v
二、安装 watir:
三、安装 oci
ruby ruby-oci8-0.1.16-mswin32.rb
下载地址: http://rubyforge.org/frs/download.php/41043/ruby-oci8-1.0.3-mswin32.rb
下载地址: http://rubyforge.org/frs/download.php/33960/dbi-0.2.0.zip
安装步骤:
2.分别在命令行中运行下面命令安装:
cd c:"dbi
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
下载地址:
http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb
3e-2d5e1db91038&displaylang=en
六、WatirRecorder++(watir 脚本录制工具)
下载:http://www.hanselman.com/blog/content/binary/WatirRecorder_Setup_lite.msi
CLI 自动化测试初体验
作者:哈日格
到系统测试,最终的验收测试,需要经过 N 多版本的验证和测试,这对于一个测
试人员来说,重复的执行这些命令行显得枯燥乏味,所以今天我们就来探讨一下
效性测试,如果有喜欢继续研究的,可以在我的基础上深入研究,使得 CLI 的自
动化测试更加成熟、更加稳健。
一、配置环境如下:
软件:SecureCRT v6.2.3
硬件:思科交换机
二、文档设计:
Level1:一级模块。
Level2:二级模块。
CLI_Command:要执行的命令行。
(需求规格说明书)。
示的最终结果写入到该列。
ST1 Result:下面包含的是系统测试第一轮测试结果。
三、脚本设计:
始的时候才改
[参数配置]
ID=7
ExcelPath=C:\Auto_Result
2、AUTO_CLI.vbs
Run…,
打开该脚本进行运行。脚本中代码如下:
#$language = "VBScript"
#$interface = "1.0"
'**********************************************************
'作者:E 测工作室
End Sub
'**********************************************************
'作者:E 测工作室
'功能描述:从 Excel 中查找 Actual Result 的列
'输入参数:无
'输出参数:ActCol
'**********************************************************
Function GetActCol(b,ExcelPath)
Dim Obj,Look,Sheet,a()
'创建 Excel 应用程序对象
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = false
'打开 Excel 文件
Set Look = oExcel.Workbooks.Open(ExcelPath)
Set Sheet = Look.Worksheets("CLI")
j=4
'判断 CLI_Command 中标志位<#>
Do while CLI_Command<>"<#>"
CLI_Command = Sheet.cells(j,3)
'**********************************************************
'作者:E 测工作室
'功能描述:将结果的数组存放到 Excel 中
'输入参数:C:数组
' ExcelPath:Excel 存放路径
'输出参数:Excel
'**********************************************************
Function WriteReport(c,ExcelPath)
Dim Obj,Look,Sheet
'创建 Excel 应用程序对象
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = false
'打开 Excel 文件
Set Look = oExcel.Workbooks.Open(ExcelPath)
Set Sheet = Look.Worksheets("CLI")
For k = 4 to j-2
Sheet.cells(k,Cint(Row1)) = c(k-1)
Next
oExcel.DisplayAlerts = False
Look.Close(True)
oExcel.Quit
Set oExcel = nothing
End Function
'**********************************************************
'作者:E 测工作室
'功能描述:从 INI 文件读取配置参数
'输入参数:strPrimary:根参数组名称
' strSubKey:参数名称
' strIniFilePath:INI 文件路径
'输出参数:Excel
四、运行脚本:
运行结果如下:
五、总结:
可,方便快捷,能够有效保证提示语的正确性。如果有特别感兴趣的,还可以演
讲一下功能性的方便测试,比如配置一个 Vlan,看是否已经配置成功。希望大
家看了能有启发,进一步拓展。
报表数据的智能统计
作者:韩柳
功能和多角度的图表带给我们数据展示的全面性。
在项目比较庞大的情况,如进入到每日构建的迭代测试中,每天需要出具一个测试报告
用于对当前开发进度、BUG 情况、测试进度、风险管理等数据的统计。
虽然这些数据在团队推进项目的过程已经由每位执行人员分别记录,但这些数据仅仅是
以达到形成测试报告、图表状态的目的。即便不是这样紧迫的报告周期,对于我们的测试及
开发管理工作也提出了效率及准确性的挑战。
模块一
待 待分 已 非 不 待 修 撤 重 延 顺 分 遗
日期 bug 总数 改 配 改 错 改 置 正 销 复 迟 延 歧 留
2009-10-1 783 221 22 498 0 0 4 1 0 0 2 0 0 35
A 16 8 2 6 0 0 0 0 0 0 0 0 0 0
B 96 30 2 60 0 0 1 0 0 0 0 0 0 3
C 630 170 15 416 0 0 3 1 0 0 2 0 0 23
D 41 13 3 16 0 0 0 0 0 0 0 0 0 9
模块二
待 待分 已 非 不 待 修 撤 重 延 顺 分 遗
日期 bug 总数 改 配 改 错 改 置 正 销 复 迟 延 歧 留
2009-10-1 783 221 22 498 0 0 4 1 0 0 2 0 0 35
A 16 8 2 6 0 0 0 0 0 0 0 0 0 0
……
通常我们会进行手工填写,每个表格都需要填写一次,聪明些的管理者会使用 Excel
的公式进行总数计算。但这避免不了填写的麻烦及耗时。同时手工填写又有准确性风险的问
题。
使用 Excel 可扩展开发的宏,可以轻松的应对这些问题。真正达到一键完成。
实现步骤如下:
1. 使用 BUTTON 控件做为报表生成的触发事件。
3. 设计 SQL 语句,从数据库中计算获取报表中所需数据。
元格坐标写入数据。
5. 自动形成报告。
对 Excel 的菜单/工具栏鼠标右键,选择控件工具箱。如下图。
弹出如下图的控件工具箱。
可以使用此按钮作为报表生成的触发事件。
对此按钮鼠标右键,选择查看代码。
弹出 VBAProject 程序开发环境。
End Sub
应用于测试工作文档常用的函数及方法。读者可以在真实使用中灵活应用。
应用说明 实现方法
' 通过表或者查询创建数据集
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
'SQL 语句
Worksheets("Sheet1").Range("A1").Cells = data
' 关闭数据集和数据连接
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
strCn =
"Provider=sqloledb;Server=10.1.1.186;Database=a;Uid=sa;Pwd=sa;"
'定义数据库链接字符串
cn.Close '关闭数据库链接,释放资源
删除文件 Kill ("c:\temp.txt")
复选框的选 If CheckBox1.Value = True Then
择判断 MsgBox "选中"
Else
MsgBox "未选"
End If
获得当前页 MsgBox ActiveSheet.UsedRange.Rows.Count
最大行、最大 MsgBox ActiveSheet.UsedRange.Columns.Count
列
获得各种返 返回应用程序完整路径
回路径 Application.Path
返回当前工作薄的路径
ThisWorkbook.Path
返回当前默认文件路径:
Application.DefaultFilePath
Application.ActiveWorkbook.Path 只返回路径
Application.ActiveWorkbook.FullName 返回路径及工作簿文件名
Application.ActiveWorkbook.Name 返回工作簿文件名
将表的某范 Private Sub CommandButton1_Click()
围数据导入 syspath = "C:\Documents and Settings\Administrator\桌面\111.xls"
到另一个表
中 Set excelApp = CreateObject("excel.application")
Set excelBook = excelApp.Workbooks.Open(syspath)
Set excelSheet = excelBook.Worksheets("sheet1")
Worksheets(1).Range("B2:D5").Select
Selection.Copy
Sheets("Sheet2").Select
Worksheets(2).Range("A1").Select
ActiveSheet.Paste
excelBook.Close
Set excelApp = Nothing
Set excelBook = Nothing
Set excelSheet = Nothing
End Sub
判断某表 Private Sub workbook_open()
' 检查当前选择的是否为行或单元格
If UCase(TypeName(Selection)) <> "RANGE" Then
MsgBox "请选择行或单元格,以便在其上方插入行。", _
vbInformation
Exit Sub
End If
' 让用户输入要插入的行数
NewRows = Application.InputBox("请输入要插入的行数", _
"插入多行", 1, , , , , 1)
' 插入相应数量的行
Rows(Selection.Cells(1).Row & ":" & _
Selection.Cells(1).Row + NewRows - 1).Insert
Shift:=xlShiftDown
End Sub
插入多列 Sub InsertMultipleColumns()
' 在当前选择的单元格或列的左方插入多列
Dim NewColumns As Long
Dim CurrentRow As Long
' 检查当前选择的是否为列或单元格
If UCase(TypeName(Selection)) <> "RANGE" Then
' 让用户输入要插入的列数
NewColumns = Application.InputBox("请输入要插入的列数", _
"插入多列", 1, , , , , 1)
' 插入相应数量的列
For i = 1 To NewColumns
Columns(Selection.Cells(1).Column).Insert
Shift:=xlShiftToRight
Next
End Sub
打开就触发 在 ThisWorkbook 模块中写 workbook_open 这个事件,在此事件中写代
宏,运行代码 码。
Private Sub workbook_open()
MsgBox "4556"
End Sub
显示活动工 MsgBox "当前活动工作簿是" & ActiveWorkbook.Name
作簿名称
保存活动工 Activeworkbook.Save
作簿
保存所有 For Each W in Application.Workbooks
打开的工作 W.Save
簿关闭 EXCEL Next W
Application.Quit
将网格线设 ActiveWindow.GridlineColorIndex = 5
置为蓝色
将工作表 Sheet1.Visible = xlSheetVeryHidden
sheet1 隐藏
将工作表 Sheet1.Visible = xlSheetVisible
Shtte1 显示
单击某单元 Private Sub Worksheet_SelectionChange(ByVal Target As
格,该单元格 Excel.Range)
所在的行以 If Target.Row >= 2 Then’第二行以下的区域
蓝色背景填 On Error Resume Next
充,字体颜色 [ChangColor_With1].FormatConditions.Delete
为白色 Target.EntireRow.Name = "ChangColor_With1"
作者: testbaby(小强)
摘要:测试貌似是现在非常火的话题,也有 N 多帅哥美女投身到这个行业,但好多菜鸟进
入后都觉得迷茫了,虽然小弟不是什么高手高人,可有点自己的学习心得体会,再次和大家
分享我的学习历程。
关键词:测试 学习历程
依小弟看来任何复杂的东西都需要一步一步来学习,从简单到复杂,其实对于测试的东
西,我觉得可以分为四大部分(当然还有安全测试什么的,我这里就简化了):
z 测试技术知识
z 功能测试
z 性能测试
z 测试管理
好,那就让我们从这四部分入手,来看看我们应该如何学习测试。Let’s Go!!
一、 测试技术知识——坚固的基石
对于测试技术知识来说,包含了测试的基本概念,测试用例等知识,这些东西任何一本
测试书籍都会讲到。我刚开始接触测试的时候抱着一身热情扎到书堆里看了 N 个书,结果只
是记住了一些基本概念,其他一个没懂。后来才发现一本书,这里推荐给大家《软件测试的
艺术》。我想大家肯定都看过,个人感觉不错,简单明了,但知识点比较全,很适合入手的
人看。
当你具备了测试的基础知识后,就需要动手了。这里我觉得需要锻炼的是测试需求的提
取、测试点的提取和测试用例的书写这三个方面。
每个公司都有不一样的用例书写模式,小弟比较推荐一种书写模式,如下图
其中操作步骤都会对应一个预期输出。
ok,到这里你应该有了一个学习测试技术知识的基本框架了吧,剩下的就是你永不停息
的练习了。^_^
二、 功能测试——形影不离的朋友
我这里把功能测试分为手工和自动化。对于我们新手来说,先从手工功能测试入手是必
经之路。你可不要看不起手工测试,根据 80-20 原则,80%的缺陷是手工测试出来了只有 20%
才能通过工具测出来。
对于手工功能测试,小弟觉得无非就是熟悉需求,熟悉产品,实际去操作,多多动手。
随着时间的积累,你考虑的测试点会越来越多,测试的深度会越来越深。(一定要有耐心,
我开始的时候就很浮躁,\(^o^)/~)
当你转为自动化测试时,基本上会写一些测试脚本来辅助测试,脚本的学习需要结合公
司的具体业务来,如何学习脚本不在本篇的范围内,不好意思了。当然,你肯定会结合一些
工具了,咱们就以现在非常 hot 的功能测试工具 QTP 来说说吧。
了解 QTP 及其原理
QTP 的基本操作,录制回放,检
查点,DataTable 等等
简单的测试框架
通过实际的程序来练习 描述性编程
由于小弟水平有限,比起 E 测的创始人们小弟这技术微不足道,所以就不在这显摆了。
三、 性能测试——貌似是越来越火了啊
首先来个图,这个图是我在网上看到的,就截下来了,实在是没记住作者是谁。
VuGen 的学习基本是按钮功能的熟悉、脚本的编写、常用函数的掌握、调试的技巧等。
主要的学习点大概是如下几个:
z 增加事务
z 检查点
z 关联
z runtime setting
Controller 的学习是设计方案的学习,以及如何监控服务。这个需要根据具体的需求
来设计运行场景。这里有个难点可能就是监控服务的配置,尽管 LoadRunner 提供了监控 N
多服务的功能,但比如 mysql 什么的都需要我们自己写脚本进行监控,再比如对 Linux 的监
控也需要我们事先在 Linux 中安装 rstatd。这个我们在遇到的时候 google 一下就可以解决
的。
四、 测试管理——提高测试质量的根本
我们知道,就算你有在高的技术水平,如果没有通过有效的管理怎么能使他发挥最大力
量呢!对于我们这些新手而言,我们也要学习一定的管理知识,这个就没什么路线了,大家
可以去买几本管理方面的书看看,最好是那种结合项目的,不要光是理论的。我个人比较喜
欢蔡为东写的书,不厚,还结合项目,反正比较通俗易懂啦。
结束语:
任何东西的学习都需要一个过程,也需要一个合适的方法,本篇只是简单说了下小弟的
学习路线,仅供大家参考,欢迎鲜花和鸡蛋。O(∩_∩)O
测试行业在国内起步比较晚,近几年来该行业有了突飞猛进的发展,目前中国的大部分高校
还没有单独设立软件测试这个专业,主要的人才还是来源于培训机构,因此随之而来的就是
大量培训机构的涌入,整个测试培训行业内层次不均衡,因此培训出来的人才也就相对高低
不等。
由于中国软件行业的快速发展,对于测试人员的要求也越来越高,越来越趋于专业化,
整个人才需求类型包括业务测试人才(金融、网络安全、通信、电子等等)、数据库测试人
才、功能自动化测试人才、性能自动化测试人才、白盒测试人才等等,但是目前国内的测试
培训机构还尚处于初级阶段,由于机构的师资水平不高、软硬件环境的不足等各方面原因,
培训出来的人才远远达不到企业的用人标准,所以这就造成了市场上测试人才的大量缺口,
也是高薪难求专业测试人员的原因所在。
自动化测试的诞生为手工测试做了一个很大的补充,目前很多企业都是希望通过自动化
测试来降低整个测试周期和人员成本,并且保证产品的质量,但是由于很多企业对于自动化
测试了解的不足,所以花费了很大的投入结果收效不明显。个人认为首先在进行自动化测试
之前要进行项目分析、成本分析,项目分析主要是考核该项目或产品是否适合自动化,自动
化中的风险预期估算等等,成本分析就是要计算一下投入自动化的成本和收益,这也就决定
了我们整个项目是否适合进行自动化,所以个人建议任何企业不要盲目的去做自动化,不然
整个拖拉机会四分五裂。
自动化测试对于整个测试行业的发展是具有推动作用的,当然对于测试人员的能力提
升、测试心理都是有好处的,软件开发和软件测试最大的区别就是,软件开发人员不停的在
创新,软件开发人员会有一种优越感和胜利感,但测试人员却总在进行着重复的工作,尤其
我们在进行一轮又一轮的系统测试、集成测试等等,我们都是在不停的测试自己负责的模块,
效率和工作质量也会随之下降,所以对于项目轮次比较多的产品或项目,笔者建议引入自动
化测试,根据项目的大小、项目的要求、进度的安排、人员的配置等等来决定是否进行全部
自动化和部分自动化,如果由于人员不是很充足,我建议进行手工测试+自动化测试结合的
模式来做,这样的话,首先对于测试人员也是一种能力的提升,并且对于他们来说从心理上
面也会起到一个积极的作用,对于项目的后期质量也会得到更好的保证。
未来自动化测试行业的发展将是专业化的,并且市场格局也会进行细分,目前第三方测
试机构大部分还是没有达到这个水准,测试类型做的比较庞杂,笔者认为由于中国软件行业
的迅速发展,会对整个测试行业提出一个更高的标准要求,所以亟待我们测试同仁在整个测
试行业内进行细分,并且要从整个的自动化测试工具的研发、自动化测试的技术的研究和进
取,自动化测试流程的规范来着手,为中国的软件测试行业的发展,创新出高标准、高科技
技术的自动化解决方案而努力,我也希望通过我们 E 测中国的力量将中国的自动化测试行业
整合、团结起来,创造出更多自动化测试技术,同时也期待会有更多的专业的自动化测试技
术的公司的诞生。
《QTP 项目应用和进阶》样章选读
书籍官方购买地址:http://book.5etesting.com
4.8 测试实施阶段
经过前期自动化测试的分析及设计,现在进入具体的设计阶段和正式的实施阶段。实施
阶段由自动化测试工程师遵循之前的设计进行开展。
4.8.1 自动化测试流程设计
流程设计的原则:流程独立性。也就是每个流程都是独立的一个流程,这边就需要注意产
生一些前置的准备数据,并且在后置条件以后恢复原始数据.
举例,如图 4.8.1:
图 4.8.1 修改密码脚本流程
4.8.2 测试用例的维护
随着测试进行,我们需要对测试用例进行维护,一般测试用例的维护分以下几种情况.
需求变更
对于我们实施的系统需求变更了,所以需要对测试用例进行维护,一般由手工测试
人员负责修改。
测试用例设计缺陷
由于需求理解不正确,或者测试工程师设计测试用例时的疏忽,导致测试用例设计
难以理解。
测试用例状态维护
随着自动化测试进展, 我们会更新我们测试用例的状态是否已经完成自动化。对于
新的功能模块的产生取代了旧的功能模块,那么旧模块的自动化测试用例及时宣告
退休。
通常的我们会有自己的测试用例管理的工具,这样我们可以很直观便捷的维护我们的测
试用例了。
4.8.3 对象库管理
对象库的管理需要专人来管理,并且维护对象列表。
图 3.7.2 对象库的维护
。。
。。。。
。。。。
。。。
。。。。
征稿启事
《每日 E 测》是一本涵盖软件测试各方面实践经验知识,国内首刊以自动化测试为特色的 E
测中国旗下的非营利的综合性电子杂志。本刊以“知识分享,共同成长,提高国内软件质量”
为办刊宗旨,服务于所有软件测试行业尤其是自动化测试行业的工程师。为了汇集更多广大
软件测试从业人员的研究成果、促进学术交流互补、丰富软件测试理论创新宝库,我们特向
全球征集优秀中文稿件。
【征稿对象】
所有软件行业从业人员,对测试有热情的愿意分享工作中软件测试的心得体会的所有海内外
人士
【来稿须知】
1.文字精练、语句通顺、层次清楚。文章内容应具有先进性和实用性。引用资料要注明文献
依据,参考文献需为作者亲自查阅的近 5 年的主要文献
2.投稿方式:电子邮件形式,请发送至AskWebMaster@5etesting.com。来稿请使用word排版,
并请注明作者姓名、单位、通讯地址、邮编、电子信箱、联系电话等,本刊暂只接受邮件投
稿
3.论文的基本要素齐全,文章标题、作者单位、作者姓名、关键词、摘要、结语、参考文献
等。
4..文责自负,文稿一律不退,请作者自留底稿,请勿一稿多投!
5.本刊有权对采用的稿件作必要的修改
6.来稿必复,如在 15 日内不见回复,请再次发送邮件,以免影响正常发表
7.其他未尽事宜及本刊相关情况,将在文稿采用通知中详告作者
【其他事项】
1.网站收录:我们会将《每日 E 测》发表在 E 测中国首页及“E 测下载”的显著位置,供软
件测试界的同行下载学习与探讨
2.优秀作者将成为我们的特约撰稿人,并赠送《QTP 项目应用与进阶》
3.本征稿启事长期有效
4.E 测中国保留对《每日 E 测》的所有解释权
E测中国 - www.5etesting.com