-
loadrunner中出现报告中没有数据解决方式
2013-09-24 16:14:20
51testing上的日志太难用了,刚刚写完的日志,提交后提示标题太长,返回以后原来写的内容全没了,nnd害的我又重新写一遍
最近在用loadrunner做性能测试,controller在我本机,负载机为一个unix环境的测试机,controller中的报告设置为运行结束后自动打开,结果也是自动收集。在我施压的过程中短时间报告都能出来,一切正常,但是如果加压1H以后,每次自动打开的报告都会有一下提示。导致无法得到想要的数据。
此问题困扰了我两天时间,这两天吃不好睡不下,不断在度娘,骨骼去找原因,去群里问。一直都没有得到解决。
一次偶然的机会,让我发现如果上时间施压loadrunner产生的数据就会很多,controller运行以后都会有一个collate result,这个运行会很慢,如果直接关掉,那么再次打开报告也会有上面的提示,如果等他自动运行完,然后再打开报告,数据就会生成得到想要的数据。
O(∩_∩)O哈哈~,看来实际这不是问题,只是我在做得过程中想省事(最好不要自动打开报告,在数据量大的时候数据都还没收集完直接打开报告肯定没有数据啦),才有了此问题,在此做下记录。
此页面在工作的时候最好不要直接关闭。
-
在loadrunner中执行存储过程
2012-12-18 15:26:34
由于我们的系统必须进行上传源文件以后才能进行后续的页面操作,另外上传文件又是silverlight和wcf来做的,loadrunner一直无法进行参数话上传,后天经过一开发人员的指导该过程进行后台操作。(写了个存储过程)
Loadrunner新建完项目以后把项目的id保存起来,调用执行存储过程同时将id传给存储过程。
再网上找了好多,确实有用loadrunner来执行存储过程的,在网友的基础上进行了修改,如下:(代码已经过测试)
1、 新建存储过程
USE [DBPlatFormFor]
GO
/****** 对象: StoredProcedure [dbo].[QA_LR] 脚本日期: 12/18/2012 15:15:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create Procedure [dbo].[QA_LR]
@name varchar(30)
as
begin
update MailMsg set username ='abc' where UserName = @name
end
2、 Loadrunner调用存储过程:
char name[100]="services";
Action()
{
char command[1024];
sprintf(command, "Sqlcmd -U tbms -P p@ssw0rd -S Jolin -dDBPlatFormForUI -Q \"exec QA_LR %s \" ",lr_eval_string(name));
lr_output_message(command);
lr_output_message(name);
system(command);
return 0;
}
备注:
-U后面是数据库的用户名,-P后面是密码,-S是数据库的服务器名,-d(小写)后面没有空格直接跟数据库名,-Q是存储过程名称,lr_eval_string(name)是传的参数。
-
监控windows的问题及解决方案
2010-12-27 13:26:26
-
将自已写的一部分测试代码贴出来,希望大家多提意见
2009-11-29 12:06:28
公司不能上外网,只有周末回家来这里逛逛,好好整理一下自已的BLOG.
C/S结构,新增一条记录,验证保存后记录的内容是否正确。代码如下:
用WR来进行自动化测试#数据库连接
rc=db_connect ("stationnet","DSN=wr_test1;UID=sa;PWD=;APP=WinRunner;WSID=local;DATABASE=stationnet",30);#判断数据库连接是否成功
if (rc !=E_OK)
pause("cannot fail");#验证处方'000019857'在数据库中是否存在
mm="'000019857'";
a="select get_amount,unit_price,multiple FROM G_RECIPE where recipe_no=" & mm;
db_execute_query("stationnet",a,record_num);
#pause ("a is " & a);
total=0;
for (i=0;i<record_num;i++)
{
value=1;
for (j=0;j<3;j++)
{
val[i,j]=db_get_field_value ("stationnet","#" & i,"#" &j );
value=value*val[i,j];
}
tl_step("station",0,"第"& i & "的金额:" & value);
total=total + value;
}
tl_step("stationnet",0,"总金额为:"&total);dw_xm="select item_name,unit_price,amount,total from g_outp_bill_item,g_price_list where g_outp_bill_item.item_code=g_price_list.item_code and cf_code=" & mm;
db_execute_query("stationnet",dw_xm,record_num);
pause ("dw_xm is " & dw_xm);
xm_total=0;
for(i=0;i<record_num;i++)
{
for (j=0;j<4;j++)
{
xm_item[i,j]=db_get_field_value("stationnet","#" &i,"#" &j);
}
k=0;
#pause("xm_item[" &i"] is 项目名称" &xm_item[i,k] &"单价" &xm_item[i,k+1]&"数量" &xm_item[i,k+2]&"金额" &xm_item[i,k+1]);
tl_step("stationnet",0,"xm_item[" &i"] is 项目名称" &xm_item[i,k] &"单价" &xm_item[i,k+1]&"数量" &xm_item[i,k+2]&"金额" &xm_item[i,k+1]);
xm_total=xm_total+xm_item[i,k+1];
}
#pause("xm_total is :"&xm_total);
tl_step("stationnet",0,"xm_total is :"&xm_total);
db_disconnect("stationnet");
db_get_headers("stationnet",field_nu,headers);
tl_step("station",0,"total" & total);本文来自我的CSDN博客,http://blog.csdn.net/lwenz/archive/2006/11/03/1365398.aspx
-
如何卸载Linux系统
2009-11-29 11:51:40
前段时间装了个Windows XP+ubuntu8.1双系统,由于最近硬盘空间不够用,所以决定弄个虚拟机来进行学习,而把原先的ubuntu先卸载了。
如果单单把ubuntu所在的分区格式化,这样将导致Windows也不能正常的启动,参考了一下谷歌的建议,方法如下:
1.在Windows下,下载MbrFix,并解压;打开“命令提示符”,cd到MbrFix目录里,输入如下命令MbrFix /drive 0 fixmbr,在对话提示中输入y后确定。如无意外,这时你重启后可以看到不再有多系统的启动选择,而是直接进入了Windows。
2.删除ubuntu所在分区。这里的方法很多:使用Windows下的分区软件、使用sudo gparted、使用ubuntu安装盘、使用DOS引导盘等等。自已手上什么都没有,而那个什么sudo gparted又不熟而且不想下载分区软件,于是我只用了XP自带的磁盘管理进行了格式化,步聚如下:右击我的电脑--管理-磁盘管理-选中两个未知的分区点右键进行删除逻辑磁盘--再重新格式化--OK。呵呵,简单吧!
-
转载:qtp自定义保留对像二
2009-01-04 16:20:07
注册自定义QTP保留对象将自己的所自定义的保留对象注册到注册表中,这个并不是QTP所包含的保留对象,而是自己设计的保留对象,用VB写的类和函数是可注册的COM对象。操作如下:
打开注册表,定位注册项:
图3.1添加一个名为“MyObject”的注册项;
添加两个“REG_SZ”类型的注册项,分别为:
ProgID:准备创建的COM 对象的ID,在这里就是Dictionary 对象所对应的COM 对 象名“PrjName.ClassName”。这个就是前面提到的VB中的工程名、类名。 UIName:QTP指向保留对象的名字,在这里输入“MyObject”
添加一个类型为“REG_DWORD”的注册项;
VisibleMode:设置DWORD 值为2,用于控制自动完成(auto-complete)和代码智能感知(intelligence)。
使用自定义QTP保留对象做完以上设置后,重新启动QTP,然后分为两种使用方式
在关键字视图中调用
在Insert菜单中选择Step Generator,然后选择Utility Objects,你可以在Object中看到我们定义的保留对象,如下显示:
图4.1
选中后,你可以在Opertion中看到我们定义的方法,你可以选择某个方法使用。
在专家视图中调用
图4.2
便捷的控制自动完成(auto-complete)和代码智能感知功能,我们可以大声的说,QTP的功能我们也可以实现了。
图4.3
方便的参数说明提示,使你更容易理解参数说明的意义,使用起来一目了然,你不用了解函数库里面封装的具体内容和死记函数名称,你只需输入”.”,QTP就会自动给出你友好的提示。
图4.4
小结
通过以上图示我们完成了自己封装的DLL函数的自动显示和调用,这样不仅减少了我们设计代码的时间,更大的好处是给开发测试代码人员提示功能,往往一个项目中,公用函数库都是由一个到两个工程师来开发完成的,如果做成VBS或者DLL文件,那我们每次调用的时候都需要加入如下语句来完成库的加载:
ExecuteFile "F:\xxx.vbs" ‘装载VBS文件
Extern.Declare micLong, "Beep", "kernel32.dll", "Beep", micLong ‘装载dll文件
Extern.Beep 500以上两条语句不仅费时,而且点击“.” 后也不能控制自动完成(auto-complete)和代码智能感知,并且开发脚本人员必须特别熟悉库中的函数和过程的具体含义才能使用,库函数多了,开发脚本人员使用某个函数时,都需要进行查找,这样既不方便也不快捷,而且会大大增加了项目的工作量,所以通过我们的研究方法,完全可以按照自定义QTP保留对象来完成函数库的整合,这样开发脚本人员在使用的时候只需要知道我们的保留对象名称即可。
总之,本文介绍了自定义QTP保留对象和注册COM对象对象的方法,其实QTP所支持的方法不仅仅如此,还有很多东西值得我们探索和研究,在自动化测试的道路上,只要我们大家为了一个共同的目的,提高自动化测试规范和流程,实现代码更高的效率,那我们会创造一个又一个神话!!!
-
转载:qtp自定义保留对像1
2009-01-04 16:18:38
摘要:QTP包含了很多保留对象,其实我们可以将所有使用的方法封装成DLL文件,然后通过COM机制注册到系统中,注册自定义保留对象机制来完成对象的定义。关键字:QTP保留对象,COM机制
大家在使用QTP的过程中经常会用到函数或过程,一般情况下大家将这些函数写到一个文件中如:xxx.vbs中,或者直接封装成DLL文件,通过QTP的函数(ExecuteFile)来载入这些已经声明的函数和过程,然后进行具体调用。这样对于大家的使用并不方便和快捷,所以本人就展开了对于自定义QTP保留对象的研究。
一、在VB环境下新建一个DLL文件
1、打开VB6.0环境,新建如下工程
图1.1
2、简单设计一个函数和一个过程,代码如下:
‘*****************************
‘函数功能:比较两个数是否相等‘输入参数:Para1、Para2‘输出参数:弹出提示
‘*****************************
Public Function CompareValue(Para1, Para2)If Para1 = Para2 Then
MsgBox "输入的两个参数相等", vbInformation + vbOKOnly, "提示"
Else
MsgBox "输入的两个参数不相等", vbInformation + vbOKOnly, "提示"
End If
End Function
3、设置工程属性
图中1.3
上图所示:
红色标注1、表示类名,设置为:ClassName,注册自定义保留对象用到。
红色标注2、表示工程名,设置为:PrjName,注册自定义保留对象用到。
4、生成文件:PrjName.dll
点击文件——>生成 PrjName.dll
二、 注册DLL文件为标准的COM组件
如果文件放到F盘下,那运行:regsvr32 f:\PrjName.dll就可以完成注册,撤销注册运行:regsvr32 /u f:\PrjName.dll。注册完成后,注册表HKEY_CLASSES_ROOT中查询PrjName.ClassName如下:
你可以点击每一个文件夹查询选项的值。
-
QTP学用函数
2008-12-18 18:20:44
收集了一些QTP常用函数,已经过调试。
Public pm,dd_id
'arrRange = ReadFile("D:\test.xls","sr")
'Msgbox UBound (arrRange,1)
'Msgbox UBound (arrRange,2)
' 读取其中一个单元格的数据
'Msgbox arrRange(1,1)
'将excel里的数据读到数组中。
' 输入:
' sFileName: Excel文件
' sSheetName:表单名称
' 返回:
' 包含Excel数据的数组
Function ReadFile(sFileName,sSheetName)
Dim oExcel
Dim oSheet
Dim oRange
Dim arrRange
On Error Resume Next
' 创建Excel应用程序对象
Set ōExcel = CreateObject("Excel.Application")
If err.Number <> 0 Then
MsgBox "未能初始化Excel" & vbCrLf & _
"请确保Excel已安装", vbCritical
Exit Function
End If
On Error Goto 0
On Error Resume Next
' 打开Excel文件
oExcel.Workbooks.Open(sFileName)
If err.Number <> 0 Then
MsgBox "未能加载Excel文件" & vbCrLf & _
"请确保Excel文件路径正确或格式正确", vbCritical
Exit Function
End If
On Error Goto 0
' 获取表格的使用范围
Set ōSheet = oExcel.Worksheets(sSheetName).UsedRange
' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
Set ōRange = oSheet.Range("A1:Z1000")
'把Excel数据转换到数组
arrRange = oRange.Value
' 关闭工作簿
oExcel.DisplayAlerts = false '不显示提示框
oExcel.WorkBooks.Item(1).Close
'退出Excel
oExcel.Quit
Set ōExcel = Nothing
' 返回包含Excel数据的数组
ReadFile = arrRange
End Function'Company:transn
'Author:Ellie
'Product:TPM
'Date:date()'读Excel文件元素
Public Function QTP_Read_Excel(pathway,sheetname,x,y)
Dim srcData,srcDoc,ret
set srcData = CreateObject("Excel.Application")
srcData.Visible = True
set srcDoc = srcData.Workbooks.Open(pathway)
srcDoc.Worksheets(sheetname).Activate
ret = srcDoc.Worksheets(sheetname).Cells(x,y).value
srcData.Workbooks.Close
Window("text:=Microsoft Excel").Close
QTP_Read_Excel = ret
End Function'写Excel文件元素并保存退出
Public Function QTP_Write_Excel(pathway,sheetname,x,y,content)
Dim srcData,srcDoc,sp1,sp2,num,use,a1,a2,a3
set srcData = CreateObject("Excel.Application")
srcData.Visible = True
set srcDoc = srcData.Workbooks.Open(pathway)
srcDoc.Worksheets(sheetname).Activate
srcDoc.Worksheets(sheetname).Cells(x,y).value = content
Dim WshShell
Set WshShell=CreateObject("Wscrīpt.Shell")
WshShell.SendKeys "^s"
wait(1)
srcData.Workbooks.Close
Set srcDoc = nothing
Window("text:=Microsoft Excel").Close
End Function
Public Res,Cmd
'call method:在调用文件中先定义Res,Cmd
'For example:Dim Res,Cmd' DBConnect()
Public Sub DBConnect()
Dim StrCon
Set Res = CreateObject("ADODB.Recordset")
Set Cmd = CreateObject("ADODB.Command")
'Oracle
StrCon ="DRIVER={MySQL ODBC 3.51 Driver};SERVER=10.0.0.15;DATABASE=DEV_tpm_watt;PASSWORD=tpm20080808;User ID=tpm_watt;STMT=SET NAMES GBK"
Cmd.activeconnection=StrCon
Cmd.CommandType =1
End Sub'function:执行SQL语句
'Input parameter: StrSql
'For example:Dim sql
' sql="select * from admin_groups"
' ExecuteSql(StrSql)
Public Sub ExecuteSql(StrSql)
Cmd.CommandText=StrSql
Set Res = Cmd.Execute()End Sub
'---------------------------------------------------------
'function:关闭数据库
'For example:DBClose()
'---------------------------------------------------------
Public Sub DBClose()
Set Res=nothing
Set Cmd.activeconnection=nothing
Set Cmd=nothing
End Sub'-------------------------------------------------------
'获取IP地址
function IPAddress
Dim WS
Set WS=CreateObject("MSWinsock.Winsock")
IPAddress=WS.LocalIP
MsgBox "Local IP=" & IPAddress
end function -
自制糯米酒的方法
2008-12-10 15:39:42
一直想自做一次糯米酒,但是由于种种原因都没做成(主要是因为在北京找不到让米发酵东西),今天看到以前收藏的自制糯米酒的方法,特在此收藏,有机会
以后再做。
原料:糯米(没有糯米,普通大米代替也可)、甜酒药
(1)将糯米洗净,用水泡两个小时
(2)象蒸馒头的方法一样,用蒸锅蒸四十分钟
(3)蒸好后,一定要完全晾凉
(4)用凉水搅拌顺一个方向糯米,将糯米打散,差不多一斤米一小碗水
(5)把酒曲赣成粉末,拌在糯米里
(6)将糯米放入容器,中间做一个洞,洞里撒上酒曲,糯米的表面也撒上酒
曲
(7)盖上盖子,放在温暖的方法。25度到30度的温度最理想。
(8)24小时后打开查看,如看到洞里有酒出来了,就差不多好了。温度不够
,就要相对时间长些。
-
食谱中英对照
2008-12-10 11:22:57
今天看到一个食谱,里面正好有中英文对照,把几个比较常是用的摘下来学习一下:
糖醋里脊 Sweet and Sour Pork
宫保鸡丁Gong Bao Chicken
麻婆豆腐 Ma Po Bean Curd
馄饨 Wonton Soup
饺子 Dumplings春卷 Spring Rolls
炒面 Chow Mein
烤鸭 Peking Duck -
打开QTP,自动加载编写的脚本。
2008-11-13 13:48:51
在启动qtp的时候,每个action可能都要调用一个或者几个EXCEL文件或者VBS写的函数,每次都要重新写这些脚本很麻烦,能否在每次启动的时候自动加载写好的脚本呢,肯定是可以的。方法很简单
1、新建一个文本文件,将需要加载的脚本放到该文件中,如:
'********Author:ellie_zhang
environment.LoadFromFile("D:\autotest\数据\环境变量.xml")
shujuwenjian=environment.Value("Tdir")&"数据\dd_xmshuju.xls"
filename=environment.Value("Tdir")&"公用函数\qtp_function.vbs"
executefile filename
datatable.ImportSheet shujuwenjian,"src","drc"
2、将该文本文件的名称改为“ActionTemplate.mst”注意扩展名为:.Mst
3、将该文件ActionTemplate.mst放到qtp的data目录下,如:C:\Program Files\Mercury Interactive\QuickTest Professional\dat
4、OK了,重新打开QTP看看里面有没有上面的脚本。
-
对象参数化问题
2008-11-10 18:09:21
一直困扰我好几天的问题,终于今天得以解决,感觉自已对对像库以及对象参数化的认识又有一个飞跃。其实问题很解单,其解决的方法更简单,只是以前对对象的理解不是很深刻,其中有一些误解,所以造成自已郁闷了几天。
给自已一个总结:以后有时间或者遇到问题的时候一定要冷静对待,不要一碰到问题就开始盲目的在网上找原因或者是问别人,自已一定要仔细看下QTP下的帮助文档,QTP的帮助文档是最好的助手。不啰嗦那么多了,先把问题以及解决方法描述下,给以后碰到此类似问题的朋友一个启示。
问题:下图是一表格,表格中订单名称字段里的值可以链接到订单详情页面(url中包含订单ID),其中订单名称可以重复,并且名称如果太长在该表中会显示不全。现在就是要录制点订单名称打开相应的订单,其中需要将订单名称和所对应的URL进行参数化。
存在的问题,我按默认方式进行录制,代码如下:
Browser("Browser").Page("page").Link("asdfsd…").Click
我对该link对像进行参数化
Browser("Browser").Page("page").Link("asdfsd…").SetTOProperty "url","http://yahu.com&dd_id=123456"
Browser("Browser").Page("page").Link("asdfsd…").SetTOProperty "text",dd_mc
Browser("Browser").Page("page").Link("asdfsd…").Click
运行以上代码会一直提示找不到Link("test")对像,或者是该对像不能不唯一标识。
解决办法
修改link录制的属性,只录制Link的html tag 和index属性,其它的操作不变。
所有需要参数化的对象,都不要录制他,在他运行的时候只需给他指定的值就行了。呵呵,不知道这种做法会不会误导别人。
-
转:英文自我介绍
2007-12-17 12:40:23
1)Good morning teachers, I am glad to be here for this interview. Let me introduce myself. My name is 某某. I am 24 years old and I am local.
I majored in Computer Science and Technology in School of Mathematics and Computer science, Nanjing Normal University from 1998 to 2001. During those three years, I have become familiar with the computer system organization and its components including computer hardware and software. Also, I have become comfortable with computer programming and showed great interest in it.2)MBA英文自我介绍
关于简历 Framework(格式)
1.Basic information (personal data)
Name sex marital status health date of birth address phone numbers email address
2. career objective
3. Education background
4. working experience
【注意】3、4两项的内容都是按照由近及远、由高到低的次序进行排列。
5. personal qualities
6. language proficiency
7. computer literacy
8. interests and hobbies
样本
Resume of (your name)
Address (street, city, province, post code)
Sex Birth Date
Home Phone Office Phone
Mobile Phone Email Address
Marital status
ID Card Number
Working History
按时间
From 1998to2002 Position: assistant to the chief manager
Name and Place of the work unit: ABC Company
Responsibility: compiled reports for the chief engineer on
production
Achievements:
按职务
editor:
time
place
responsibility
achievements
accountant:
time
place
responsibility
achievements
按工作性质
computer operation:
time
place
responsibility
achievements
computer system planning
time
place
responsibility
achievements
personnel supervisor
time
place
responsibility
achievements
Education
From to Academic Degree: B.A received in July 1983
Name and Place of the University: Beijing University
Major: management
Minor: English
Honors, awards and achievements: earned academic scholarship, 2 years, top ten graduates
Activities: literary club, secretary
Published two papers
Among the pertinent courses taken are:
Public Finance
Technical Qualifications
From to (certificate received)
From to (certificate received)
From to (certificate received)
Personal Qualities
Language Proficiency
Computer Literacy
Hobbies and Interests
简历中常用动词
1. achieved sales increase by 15*
2. acquired enough experience for ….
3. acted as interpreter for the last 5 years
4. attended all these meetings, and assisted the project manager to make financial decision
5. cooperated a project for a fast food restaurant
6. completed the negotiation and achieved sales increase by *
7. conducted a seminar
8. controlled the budge9. coordinated operations of a hotel with manager
10. created a good image for Co
11. developed marketing skills by working as a salesman for years
12. devised a system which could simplify working process
13. directed a staff of ten in producing the newspaper and selling it
14. experienced in operations of …
15. gained retail experience including the marketing research
16. handled public relations
17. helped coordinate operation of a computer company
18. improved efficiency of work and reduced its expenses
19. initiated and carried out a research project to evaluate the trade market
20. served as an assistant manager in a world-famous chain store
21. supervised 6 person research team for 5 years
22. worked one year as a …
简历中涉及到的语法问题
1. 将所有第一人称代词从简历中拿掉(I, we, me, my), 当然更不能用第三人称代词。
2. 冠词:简历当中不需要冠词,例如:应写retrained staff而不是retrained the staff
3. 助动词:简历当中不需要助动词,所以,应该写managed 而不是have managed
4. 动词:简历当中的所有主要动词全部用动词的过去式形式。
5. being性动词:简历中一律使用主动语态,不要出现am, is, are, were, was等词。
6. 时态转换:简历中的时态基本保持过去式,偶尔用一般现在式。
7. 复合句:在简历中少用复合句,将其拆成若干短小的句子,最多带一个从句,主句都是类似祈使句的样子——无主语
Self-statement(个人介绍----样本)
MY BACKGROUND
I was born in a small village of Shan Dong Province on April 4th, 1968. When I was young, my family was very poor, so I had to work to earn money to help my parents after class when I was in the middle school.
In 1986 I was admitted by University of International Business and Economics (or: UIBE) to pursue a bachelor degree in Economics. My major is accounting in Department of International Business Management. The undergraduate education gave me a wide range of vision and taught me how to cooperate with others. I developed several professional interests in Accounting, Finance, and International Trade.
The following eight-year working experience offered me a good chance to give full play to my creativity, intelligence and diligence. In 1990-1993, I worked as an assistant to funding manager in China National Technical Import and Export Corporation. In 1993-present, I was employed by China Kingdom Import and Export Corporation to be the Manger of Financial and Accounting Division.
I do believe that with my hard early life, solid educational background and ample working experience, I would be an excellent student of you MBA program.
MY PERSONAL ACCOMPLISHMENT:
After graduating from UIBE,I was employed as the assistant to the funding manager by China National Technical Import and Export Corporation. After reading a lot of related files,and analyzing the overall funding situation of the corporation,I found that the loan policy was not been put into effect. So we have thousands of millions RMB loan with very high interest rate while a large amount of cash in bank with very low interest rate was idle. I reported this to my supervisor,and then we studied and revised the loan policy. This revision saved the corporation approximately RMB thirty millions yuan. In order to raise the funding effectiveness,after one year‘s hard work,I developed the internal banking system within the corporation based on the actual funding supply and need of the different divisions and projects. This internal banking system made full use of the corporation’funding resources,and due to this,I was highly praised by the president of the corporation.
WHY CHOOSE YOUR MBA PROGRAM?
After I have worked in business area for eight years,I feel that I need to continue my education by pursuing a Master degree in business administration. I have practiced my professional expertise in accounting,demonstrated my leadership abilities and perfected my communication skills. But I have yet to become an entrepreneur in my own right,and to fully master the art of modern business. I want to be trained more vigorously in scientific methods of analysis and synthesis. There are a lot of opportunities and challenges in China that I do not yet fell fully confident to seize. My business career has so far benefited mostly the companies that I worked for,but a good business education in your university will probably become a new era for me.
Your university is well known for its excellence in China‘s business education. I am sure that,with my extensive business experience,I can be a worthy student of yours. I am anxious to benefit from your seasoned guidance and take advantage of your research facilities.
-
英语面试常见问题
2007-12-17 12:10:59
It is a great pleasure for me to have this opportunity for the interview.
我能有机会来参加面试感到非常荣幸。
I am very happy that I am qualified for this interview.
我非常高兴能获得这个面谈机会。
1.Educational Background
How about your academic records at college?
你大学的成绩如何?
I have been doing quite well at college.
我在大学时学习很好。
My specialization at the university is just in line with the areas your institute deals with.
我在大学所学的专业和你们研究所所涉及的范围刚好对口。
I was one of the top students in the class.
我是班里最优秀的学生之一。
Key Word:
major 主修课;主修的;主修 minor in 辅修
degree 学位 bachelor 文理学士
a bachelor’s/ master’s /doctor’s degree
学士学位、硕士学位、博士学位
honor 荣誉 award 奖励 scholarship 奖学金
注意几个关键的词语:degree(学位)、subject(科目)、department(系)、Bachelor’s degree(学士学位)、major(主修)、minor(辅修)。
Which course did you like best? 你最喜欢哪门课程?
在回答提问时要注意投其所好, 这时你最好回答和所应聘公司相关的科目,这会让他留下你很有潜力的印象。
How have you been getting on with your studies so far?
A: I have been doing quite well at college. According to the academic records I have achieved so far, I am confident that I will get my Bachelor of Computer Science and Technology this coming July.
2 .Work experience
Key Words:
个人发展(development)、机会(opportunity、chance)、工作环境(working environment)position 职位、responsibility 责任,职责
be qualified for 适于担任 apply for 申请 advancement 提升,晋升
convenient 方便的 professional 专业的
background 背景 intern 实习生
1. Have you got any experience in programming?
你有编程方面的经验吗?
Yes, sir. I have been a software engineer in an software company.
是的,先生,我一直在一家软件公司担任工程师工作。
Although I have no experience in this field, I'm willing to learn.
虽然在这方面我没有经验,但是我愿意学习
2 . Thank you for your interest in this position. Why do you consider yourself qualified for this job?
谢谢你对本公司的兴趣,为何你认为自己符合这职位的资格?
My educational background and professional experience make me qualified for the job.
我的教育背景和工作经验使我能够胜任这项工作。
3. What‘s your career objective?
你的事业目标是什么?
I hope I could be a project manager of an energetic and aggressive team.
我希望成为一支有活力、有进取心的队伍的项目经理。
4. Why do you want to apply for a position in our company?你为什么想申请来我们公司?
Because I think my major is suitable for this position.
因为我认为我的专业适合这个职位。
Because your operations are global, so I feel I can gain the most from working in this kind of environment.
因为你们公司的运作是全球化的, 我觉得在这样一个环境中工作会收获最多。
5. I: Why do you think you are qualified for this position?
为什么你认为你能胜任我们公司这个职位呢?
A: My educational background and professional experience make me qualified for the job. Besides, I am a team player and have great interpersonal skills.
我的教育背景和工作经验使我能够胜任这项工作。而且我具有团队精神和出色的人际关系技能。
6. I: How would you describe your ideal job?
A: I think the job should make use of the professional experience I have obtained, and offer me opportunity for advancement.
I: 你理想的工作是什么样的?
A: 我认为应该能发挥我掌握的专业知识,而且能为我提供升职的机会
Character and hobby
Key Words :
open-minded 开明的,开放的 easy-going 容易相处的
personality 个性,人格 enthusiastic 充满热情的
leisure 空闲的,闲暇的 hobby 业余爱好
优点 strong points,strengths,merits
缺点 shortcomings,weaknesses
性格 character, personality
1. What kind of character do you think you have?
你认为自己是什么性格的人?
I'm quite active and energetic. I approach things enthusiastically and I don't like leaving things half done.我积极而充满活力。我热诚对待每件事,不喜欢半途而废。
2. What kind of person would you like to work with? 你喜欢和什么样的人一起工作呢?
I like to work with people who are honest, dedicate to their work and have integrity.
我喜欢和诚实、对工作投入、为人正直的人一起工作。- Are you introverted or extroverted?
你内向还是外向?
I wouldn't call myself introverted though sometimes I'm reserved and enjoy staying all by myself, often and often I like sharing activities with others.
我不算内向,尽管有时我沉默寡言,喜欢独处,但我经常和大家在一起活动。
4. What kind of sports do you like most?
你最喜欢什么运动?
Football is a very exciting game because it keeps you alert and I also enjoy the team spirit of football.
足球是一项极刺激的运动,它会使你保持灵敏,我也喜欢足球活动中的团队精神。
5 What are your hobbies? How do you spend your spare time?
你的业余爱好是什么?你的业余时间怎么度过?
I have many hobbies. I like almost all kinds of sports and I also like to listen to classical music.
我有很多爱好。我喜欢几乎各类运动,也喜欢听古典音乐。6 How do you get along with others?
你和别人相处得怎样?
I get on well with others.
我和别人相处得很好。
7. What are your weak points?
你的缺点是什么?sometimes , I continually strive after perfection to do somethings.
When I think something is right, I will stick to that. Sometimes it sounds a little stubborn but I am now trying to find a balance between insistence and compromise.
若我认为某件事情是对的,我会坚持到底。有时候,这显得有点顽固,因此我正努力在执着与妥协之间寻求平衡。
8. I: What kind of character do you think you have?
A: Generally speaking,l am an open-minded person.
I: What is your strongest trait?
A: Cheerfulness and friendliness.
9 .Were you involved in any club activities at your university?
你在大学有没有参加过什么社团活动?
Yes, I was on the chairman of college student union.
有,我曾担任学生会主席。
Yes ,I was a monitor of my class.
有,我担任班长一职。
Do you have any question? 你还有什么问题吗?
外企的这个问题看上去可有可无,其实很关键,外企不喜欢说“没有问题”的人,因为其很注重员工的个性和创新能力。外企不喜欢求职者问个人福利之类的问题,如果有人这样问:贵公司对新入公司的员工有没有什么培训项目,我可以参加吗?或者说贵公司的晋升机制是什么样的?外企将很欢迎,因为体现出你对学习的热情和对公司的忠诚度以及你的上进心。
- Are you introverted or extroverted?
-
英文简历常用词汇
2007-12-17 12:05:54
从网上找了一些英文简历常用的词汇,觉得很不错,放到自已空间里,以方便查看,此篇来自于ZT的测试空间
个人品质常用词汇able 有才干的,能干的 adaptable 适应性强的
active 主动的,活跃的 aggressive 有进取心的
ambitious 有雄心壮志的 amiable 和蔼可亲的
amicable 友好的 analytical 善于分析的
apprehensive 有理解力的 aspiring 有志气的,有抱负的
audacious 大胆的,有冒险精神的 capable 有能力的,有才能的careful 办理仔细的 candid 正直的
competent 能胜任的 constructive 建设性的
cooperative 有合作精神的 creative 富创造力的
dedicated 有奉献精神的 dependable 可靠的
diplomatic 老练的,有策略的 disciplined 守纪律的
dutiful 尽职的 w ell--educated 受过良好教育的
efficient 有效率的 energetic 精力充沛的
expressivity 善于表达 faithful 守信的,忠诚的
frank 直率的,真诚的 generous 宽宏大量的
genteel 有教养的 gentle 有礼貌的
humorous 有幽默 impartial 公正的
independent 有主见的 industrious 勤奋的
ingenious 有独创性的 motivated 目的明确的
intelligent 理解力强的 learned 精通某门学问的
logical 条理分明的 methodical 有方法的
modest 谦虚的 objective 客观的
precise 一丝不苟的 punctual 严守时刻的
realistic 实事求是的 responsible 负责的
sensible 明白事理的 sporting 光明正大的
steady 踏实的 systematic 有系统的
purposeful 意志坚强的 sweet-tempered 性情温和的
temperate 稳健的 tireless 孜孜不倦的
教育程度常用词汇
education 学历 educational history 学历
educational background 教育程度 curriculum 课程
major 主修 minor 副修
educational highlights 课程重点部分 curriculum included 课程包括
specialized courses 专门课程 courses taken 所学课程
special training 特别训练 social practice 社会实践
part-time jobs 业余工作 summer jobs 暑期工作
vacation jobs 假期工作 refresher course 进修课程
extracurricular activities 课外活动 physical activities 体育活动
recreational activities 娱乐活动 academic activities 学术活动
social activities 社会活动 rewards 奖励
scholarship 奖学金 excellent League member 优秀团员
excellent leader 优秀干部 student council 学生会
off-job training 脱产培训 in-job training 在职培训
educational system 学制 academic year 学年
semester 学期(美) term 学期(英)
supervisor 论文导师 pass 及格
fail 不及格 marks 分数
examination 考试 degree 学位
post doctorate 博士后 doctor(Ph.D) 博士
master 硕士 bachelor 学士
graduate student 研究生 abroad student 留学生
abroad student 留学生 undergraduate 大学肆业生
government-supported student 公费生 commoner 自费生
extern 走读生 intern 实习生
prize fellow 奖学金生 boarder 寄宿生
graduate 毕业生 guest student 旁听生(英)
auditor 旁听生(美) day-student 走读生工作经历常用词汇
work experience 工作经历 occupational history 工作经历
professional history 职业经历 specific experience 具体经历
responsibilities 职责 second job 第二职业
achievements 工作成就,业绩 administer 管理
assist 辅助 adapted to 适应于
accomplish 完成(任务等) appointed 被认命的
adept in 善于 analyze 分析
authorized 委任的;核准的 behave 表现
break the record 打破纪录 breakthrough 关键问题的解决
control 控制 conduct 经营,处理
cost 成本;费用 create 创造
demonstrate 证明,示范 decrease 减少
design 设计 develop 开发,发挥
devise 设计,发明 direct 指导
double 加倍,翻一番 earn 获得,赚取
effect 效果,作用 eliminate 消除
enlarge 扩大 enrich 使丰富
exploit 开发(资源,产品) enliven 搞活
establish 设立(公司等);使开业 evaluation 估价,评价
execute 实行,实施 expedite 加快;促进
generate 产生 good at 擅长于
guide 指导;操纵 improve 改进,提高
initiate 创始,开创 innovate 改革,革新
invest 投资 integrate 使结合;使一体化
justified 经证明的;合法化的 launch 开办(新企业)
maintain 保持;维修 modernize 使现代化
negotiate 谈判 nominated 被提名;被认命的
overcome 克服 perfect 使完善;改善
perform 执行,履行 profit 利润
be promoted to 被提升为 be proposed as 被提名(推荐)为
realize 实现(目标)获得(利润) reconstruct 重建
recorded 记载的 refine 精练,精制
registered 已注册的 regenerate 更新,使再生
replace 接替,替换 retrieve 挽回
revenue 收益,收入 scientific 科学的,系统的
self-dependence 自力更生 serve 服务,供职
settle 解决(问题等) shorten 减低……效能
simplify 简化,精简 spread 传播,扩大
standard 标准,规格 supervises 监督,管理
supply 供给,满足 systematize 使系统化
test 试验,检验 well-trained 训练有素的
valuable 有价值的 target 目标,指标
working model 劳动模范 advanced worker 先进工作者
个人资料常用词汇
name 姓名 in. 英寸
pen name 笔名 ft. 英尺
alias 别名 street 街
Mr. 先生 road 路
Miss 小姐 district 区
Ms (小姐或太太) house number 门牌
Mrs. 太太 lane 胡同,巷
age 年龄 height 身高
bloodtype 血型 weight 体重
address 地址 born 生于
permanent address 永久住址 birthday 生日
province 省 birthdate 出生日期
city 市 birthplace 出生地点
county 县 home phone 住宅电话
prefecture 专区 office phone 办公电话
autonomous region 自治区 business phone 办公电话
nationality 民族;国籍 current address 目前住址
citizenship 国籍 date of birth 出生日期
native place 籍贯 postal code 邮政编码
duel citizenship 双重国籍 marital status 婚姻状况
family status 家庭状况 married 已婚
single 未婚 divorced 离异
separated 分居 number of children 子女人数
health condition 健康状况 health 健康状况
excellent (身体)极佳 short-sighted 近视
far-sighted 远视 ID card 身份证
date of availability 可到职时间 membership 会员、资格
president 会长 vice-president 副会长
director 理事 standing director 常务理事
society 学会 association 协会
secretary-general 秘书长 research society 研究会应聘职位
objective 目标 position desired 希望职位
job objective 工作目标 employment objective 工作目标
career objective 职业目标 position sought 谋求职位
position wanted 希望职位 position applied for 申请职位离职原因
for more specialized work 为更专门的工作 for prospects of promotion 为晋升的前途
for higher responsibility 为更高层次的工作责任 for wider experience 为扩大工作经验
due to close-down of company 由于公司倒闭 due to expiry of employment 由于雇用期满
sought a better job 找到了更好的工作 to seek a better job 找一份更好的工作业余爱好
hobbies 业余爱好 play the guitar 弹吉他
reading 阅读 play chess 下棋
play 话剧 long distance running 长跑
play bridge 打桥牌 collecting stamps 集邮
play tennis 打网球 jogging 慢跑
sewing 缝纫 travelling 旅游
listening to symphony 听交响乐 do some clay scultures 搞泥塑 -
LoadRunner如何获得参数化中每个关键字的搜索响应时间
2007-12-13 10:01:05
看到一篇觉得很好的有关loadrunner的文章,为了方便找,在这里先放一下:在测试搜索引擎时我们一般采用大量的搜索关键字,有时有必要了解在并发访问的情况下每个关键字的响应时间,一般如果不对脚本进行处理的话你可以获得每个关键字的响应时间但是这些时间没有跟相应的关键字对应,所以对程序的调优没有什么大的帮助,这里介绍一种方法,可以让你知道在并发访问下每个关键字的响应时间。
解决办法是可以把搜索搜索的操作定义为一个事务,事务名也用参数值代替,这样就可以从测试结果中知道该关键字的响应时间了。举例如下:
#include "web_api.h"
Action()
{
lr_start_transaction(lr_eval_string("{SearchParam}"));
web_url("s",
"URL=http://www.baidu.com/s?wd={SearchParam}",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTTP",
LAST);
lr_end_transaction(lr_eval_string("{SearchParam}"), LR_AUTO);
return 0;
}
这样就可以在场景运行时通过事务监视图中就可以看到每个关键字的所用的时间了。
这种方法的缺点是当关键字比较多时,监视器中行数会增多,可能导致Controller显示不下。
还有一种方法,示例如下:
#include "web_api.h"
Action(){
float trans_time;
lr_start_transaction("sousuo");
web_url("s",
"URL=http://www.baidu.com/s?wd={SearchParam}",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTTP",
LAST);
trans_time = lr_get_transaction_duration("sousuo") * 1000;
lr_output_message("SearchParam:%s,duration:%fms",lr_eval_string("{SearchParam}"),trans_time);
lr_end_transaction("sousuo", LR_AUTO);
return 0;
}
一般使用这种方法比较好,可以把lr_output_message函数换为自定义的函数,把结果写到一个结果文件中去,注意写入的文件最好以vuser id来命名,这样可以保证同时只有一个进程在读写这个文件(这样一来不同的用户读写不同的文件,否则如果所有用户写入同一文件在用户数多的情况下并发可能造成对同一文件的访问共享违例,获得vuser id的函数为lr_whoami)。另外需要说明的是这里获得的事务时间可能比通过lr_start_transaction和lr_end_transaction获得的事务的时间要小一些,这是由于测试工具自身的原因造成的,可以不必理会。
同时,如果想知道查询过程中哪个关键字搜索结果错误,也可以加上验证点,同时可以再加一些代码,把搜索超过一定时间的关键字过滤出来。 -
SQL Server 2005性能测试实践 - CPU篇(1)
2007-02-07 16:09:54
摘自CSDN
如果在没有额外复杂条件下突然出现CPU瓶颈,有可能是因为没有优化查询,错误的数据库配置,或者是数据库设计上的原因和硬件资源不足引起。在决定采用增加CPU数量或者使用更快速的CPU之前,应该先检查消耗CPU资源最多的操作是否能够被优化
如果发现性能计数器Processor: % Processor Time的值很高,每一个CPU的% Processor Time都超过80%时,可视为出现CPU瓶颈。也可以通过视图sys.dm_os_schedulers监视SQL Server的进程调度(schedulers)来确认可执行的任务是否为非零值。非零值表示任务被迫等待时间片来运行,如果这个数值非常高,说明存在CPU瓶颈。
Select scheduler_id,current_task_count,runnable_task_count from sys.dm_os_schedulers where scheduler_id<255
下面的查询将给出一个较高层的视图来说明当前被缓存的消耗CPU资源最多的批处理或者过程。查询通过相同查询句柄的所有语句合计CPU的消耗情况。
Select top 50 sum (qs_total_worker_time) as total_cpu_time,sum(qs.execution_count) as total_execution_count, count(*) as number_of_statements,qs.plan_handle from sys.dm_exec_query_stats qs group by qs.plan_handle order by sum(qs.total_worker_time) desc
过多的compilation和recompilation
在批处理或者远程过程调用(RPC)提交到服务器执行之前,系统会检查查询计划的有效性和正确性。如果在检查过程中出现了失败的情况,这些批处理可能会被再次编译来产生新的查询计划。这样的编译被称为重编译(recompilations)。这些重编译一般必须确定正确性且通常在服务器认定在潜在数据发生变化后存在可能被优厚的查询计划时执行。编译的特性是CPU敏感的操作,因此过分的重编译可以导致CPU性能问题。
在SQL Server 2000中,当SQL Server重新编译一个存储过程时,整个存储过程都会被重编译,而不只是触发重编译的语句。SQL Server 2005引入了一种语句级别重编的存储过程。当SQL Server 2005重新编译存储过程时,只有引起重编译的语句才会被编译而不是整个过程。这就减少了CPU带宽并且减少了资源锁出现的可能,例如:COMPLIE locks. 重编译可以由于很多不同的原因造成,如:
l 架构变化
l 统计变化
l 延期编译
l SET选项变化
l 临时表变化
l 存储过程以RECOMPLIE选项建立。
检测
使用System Monitor 或者 SQL Server Profiler来检测过多的编译和重编译。
System Monitor
SQL Statistics对象提供计数器来监视编译和发送到SQL Server实例的请求类型。必须通过监视查询编译和重编译的数量结合接收到的批处理数量来找出高CPU消耗是否是由编译引起。理想情况下,SQL Recompilations/sec和Batch Requests/sec的比率应该应该非常低,除非用户提交的是即席查询。
以下是关键数据计数器:
l SQL Server: SQL Statistics: Batch Requests/sec
l SQL Server: SQL Statistics: SQL Compilations/sec
l SQL Server: SQL Statistics: SQL Recompilations/sec
SQL Trace
如果性能计数器显示非常大的重编译数量,重编译可能正在造成高CPU消耗。接下来需要需要利用SQL Profiler纪录的trace来找出当时被重新编译的存储过程。SQL Server Profiler trace可以给出这些信息连同重编译的原因。可以使用事件来获取这些信息。
SP: Recompile / SQL: StmtRecompile. The SP:Recompile and the SQL:StmtRecompile事件类显示哪些存储过程和语句曾经被重新编译过。当编译一个存储过程时,为存储过程和每一个被编译的语句生成事件。然而,当一个存储过程被重新编译时,只有引起重新编译的语句才会被生成一个事件(不同于SQL Server 2000中的整体存储过程编译)。
SP:Recompile事件类中的重要的数据列如下所示:
l Event Class
l EventSubClass
l ObjectID(表示包含这个语句的存储过程)
l SPID
l Start Time
l SqlHandle
l TextData
EventSubClass数据列对于确定重编译原因来说非常重要。一旦过程或者触发器被重新编译,SP:Recompile就会被触发,但是有可能被重编译的即席批处理不会引发这个事件。 在SQL Server 2005中,监视SQL:StmtRecompiles时非常有用的,任何类型的批处理,即席查询,存储过程或者触发器被重编译时,这个事件类都会被触发。
保存trace文件,使用下面的查询来查看所有的重编译事件。
Select spid,starttime,textdata,eventsubclass,objected,databaseid,sqlhandle from fn_trace_gettable (‘filepath.trc’,1) where EventClass in(37,75,166)
EventClass 37是SP:Recompile, 75是CursorRecompile, 166是SQL:StmtRecompile.
也可以进一步对这些查询结果根据Sqlhandle和ObjectID列进行分组来查看是否有某个存储过程存在大量的重编译或者由于其他原因导致的重编译(如Set选项变化)。
Showplan XML For Query Compile. 这个事件类在Microsoft SQL Server编译或者重新编译SQL语句时发生。这个事件中有关于被编译或者重编译的语句的信息。这些信息包括查询计划和存在问题的过程的Object ID。如果发现SQL Compilations/sec计数器数值很高,应该监视这个事件类。通过这些信息可以发现哪些语句被频繁的重编译。可以使用这些信息改变那些语句的参数。这应该会降低重新编译的次数。
DMVs
当使用sys.dn_exec_query_optimizer_info DMV时,可以得到SQL Server花费在优化上的时间。
Select * from sys.dn_exec_query_optimizer_info
Counter occurrence value
Optimizations XX XX
Elaspsed time XX XX
Elaspsed time是消耗在优化上的时间。这个事件一般接近于消耗在优化上的CPU时间。
另外一个用来捕获这些信息的DMV是 sys.dm_exec_query_stats
下列是需要查询的数据列:
l Sql_handle
l Total worker time
l Plan generation number
l Statement Start Offset
Plan_generation_num表示查询被编译的次数。下列语句给出前25个被编译的存储过程。
Select top 25 sql_text.test,sqlhandle,plan_geration_num,execution_count,dbid,objectid from sys.dm_exec_query_stats across apply sys.dm_exec_sql_text(sql_handle) as sql_text where plan_generation_num>1 order by plan_generation_num desc
解决方法
如果检测到过多的编译/重编译,考虑以下解决方法:
l 如果重编译是因为SET选项引起,使用SQL Profiler确定是哪一个SET发生了变化。尽量避免在存储过程内部修改SET选项。可以选择在连接级别上设置,并确保SET选项在连接的生命周期中不会发生变化。
l 临时表的重编译极值比一般表要低。如果由于统计信息变化导致重新编译临时表时,可以考虑把临时表替换为一个table变量,同样的变化不会影响table变量。这种方法的缺点是查询优化器不能跟踪table变量的信息,因为系统不会为table变量建立和维护统计信息。这可能导致不能优化对于表变量的查询。
另外一个选择是使用KEEP PLAN查询提示。它设置临时表的极限值与永久表一致。EventSubClass列将显示临时表上发生了”Statistics Changed” 操作。
l 避免由于统计信息发生变化而导致的重编译(例如,当查询计划因为改变统计信息而不能被达到最优时),指定KEEPFIXED PLAN查询提示。通过这个选项的作用,重编译仅当出现正确性相关的变化时才会发生(例如,当底层表结构发生变化时才会重新编译查询)而不是由于统计数据。如果一个表的架构发生变化,或者表被sp_recompile存储过程标记,重编译将会发生。
l 关闭被定义在一个表上的或者被索引的视图上的index & statistics的statistics自动更新防止由于在对象上的statistics的改变引起的重编译。注意,无论如何,关闭”auto-stats” 功能不是很好的选择。这是因为查询优化器不在对数据变化产生作,可能会导致非最优查询计划被执行。
l 批处理中应该使用具属对象名(如:dbo.table1)来避免重编译和对象之间的二义性。
l 避免由于延迟编译导致的重编译,不要使用条件结构(如IF)来插入DML和DDL或者建立DDL。
l 运行DTA查看是否有可以改善编译时间和查询执行时间。
l 检查是否存储过程使用WITH RECOMPILE选项建立或者查询是否使用了RECOMPILE。如果存储过程使用WITH RECOMPILE选项建立,在SQL Server 2005中,考虑利用语句级别的RECOMPILE如果存储过程中的某个语句需要被重新编译。这可以避免每次执行存储过程时的强制编译,同时允许单独的语句重编译。
性能测试应用
从性能测试的角度出发,可以在负载测试过程中收集有关的性能计数器,同时利用SQL Profiler收集负载测试期间有关重编译的事件类。一般情况下负载测试都会产生较高的CPU利用率,特别是压力测试。在测试结束后收集性能计数器确定是否存在过多的编译和重编译情况。
在确定系统出现过多的编译和重编译后,对trace和DMV结果进行分析找出产生大量编译和重编译的存储过程或者语句。根据不同的原因提出相应的解决方案。 -
性能测试方法
2007-02-07 14:38:24
对性能测试方法有很多不同的分类,我觉得从一种大的范围上来进行分类的话,主要有几种:性能测试、负载测试、压力测试、配置测试、并发测试、可靠性测试和失效恢复测试。现对每种测试方法的目的分别描述一下我的理解,望各位多提意见
1、 性能测试(performance testing):它是一种我们常见的一种方法,它是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能的要求。简单地说就是要在特定的运行条件下验证体系统的能力状况。
这种方法的主要特点有:
1) 这种方法的主要目的是验证系统是否有系统说明具有的能力
2) 这种方法需要事先了解被测试系统典型场景,并具有确定的性能目标
3) 这种方法要求在已确定的环境下运行
2、 负载测试(load testing):有时被叫做可量性测试,它主要是通过在被测系统上不断增加压力,直到性能达到预定目标或者资源达到饱和状态。它可以找到体系统的处理能力的极限,为系统调优提供数据。
它的主要特点有
1) 它的主要目的是找到系统处理能力的极限
2) 需要在给定的测试环境下进行,也需要考虑被测试体系统的业务压力量和典型场景,使得测试结果具有业务上的意义
3) 一般用来了解系统的性能容量,或是配合性能调优来使用。
3、 压力测试(stress testing):这种方法测试系统在一定饱和状态下,系统能够处理的会话能力,以及体系学统是否会出现错误。
这种性能测试方法具有以下特点
1) 它的主要目的是检查系统处于压力情况下时,应用的表现
2) 一般通过模拟负载等方法,使得系统的资源使用达到较高的水平
3) 一般用于测试系统的稳定性
4、 配置测试(configuration testing):通过对被测系统的软/硬环境的调整,了解各种不同环境对系统性能影响的程度,从而找到体系统各项资源的最优分配原则。
这种方法的特点有:
1) 它的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优方法。
2) 一般在对系统性能状况有一定的了解后进行
3) 一般用于性能调优和规划能力
5、 并发测试(concurrency testing):通过模拟用户的并发访问,测试多用户并发访问同一个应用、同一模块或者数据记录时是否存在死锁或者其它性能的问题
1) 主要目的是发现系统中可能隐藏的并发访问时的问题
2) 主要关注系统可能存在的并发问题,例如系统中的内存泄漏、死锁等方面的问题
3) 这种方法可以在开发的各个阶段使用,需要相关的测试工具的配合和支持
6、 可靠性测试(reliability testing):软件的可靠性包含很多的内容,比如:成熟性、容错性等等,但这里所说的可靠性测试主要是指通过给系统加载一定的业务压力的情况下,让应用持续运行一段时间,测试系统在这种条件下是否能够稳定运行。
它的特点有:
1) 主要目的是验证系统是否支持长期稳定的运行
2) 需要在压力下持续一段时间的运行
3) 需要关注系统的运行状况
7、 失效恢复测试方法(failover testing):它主要是针对有冗余备份和负载均衡的系统设计的。它可以人用来检验如果系统局部发生故障,用户是否能够继续使用系统;以及如果这种情况发生,用户将受到多大程度的影响。
它的主要特点有:
1) 主要目的是验证在局部故障情况下,系统能否继续使用。
2) 这种性能测试方还需要指出,当问题发生时“能支持多少用户访问”的结论和“采取何种应急措施”的方案
3) 一般来说,只有对系统持续运行指标有明确要求的系统才需要进行这种类型的测试
-
性能测试应用领域及所使用的测试方法
2007-02-07 14:35:07
性能测试的应用领域可以分为能力验证、能力规划、性能调优和缺陷发现
1、 能力验证,它是经常用到的应用领域,它与性能测试很接近,要有已确定的环境下运行,要根据典型场景设计测试方案和用例,能力验证一般采用performance testing方法,还可以用其它的测试方法:reliability testing、stress testing 、failover testing的方法
2、 规划能力,它与能力验证领域不同,能力验证关心的是在给定条件下,系统能否具有预期的能力表现,而规划能力应用关心的是应该如何才能使系统具有我们要求的性能能力。或是在某种可能发生的条件下,系统具有如何的性能能力。规划能力应用领域的问题常常是“某系统能否支持未来一段时间内的用户增长或是应该如何调整系统配置,使系统能够满足增长的用户数的需要”
常用的测试方法有:负载测试、配置测试和压力测试
3、 性能调优,主要对系统性能进行调优,可以在不同的测试阶段和场合下使用,不同的环境调优关注的内容也不同,比如对已经在实际的生产环境上的应用系统来说,对其进行调优首先关注的是应用系统部署环境的调整,对开发中的应用来说,更多的关注应用逻辑的实现方法、算法、数据库访问层的设计因素。
一个标准的性能调优过程如下:
1、 确定基准环境、基准负载和基准性能指标
2、 调整系统运行环境和实现方法,执行测试,这是性能调优过程中的核心步聚,对一个应用系统来说,主要做硬件环境、系统设置和应用级别三个方面的调整
3、 记录测试结果,进行分析
性能调优使用的主要测试方式有:配置测试、负载测试、压力测试和失效恢复测试
4、 缺陷发现,主要目的是通过性能测试的手段来发现系统中存下的缺陷。它一般可以作为系统测试阶段的一种补充测试手段,在测试过程中发现并发时的应用问题,或是作为在系统维护阶段的问题定位手段,对系统运行过程中已经出现的问题进行重现和定位
缺陷发现一般采用并发测试方支,如果还需要关注压力失效恢复过程中出现的问题,还可以采用压力和失效恢复方法。
-
软件性能的几个主要术语
2007-02-06 16:08:44
接触过软件性能测试的人,会经常听到响应时间、并发用户数、吞吐量、性能计数器、思考时间等这样的术语,网上也有这方面的讨论,总觉得都是似明白似不明白的,现将我对他们的理解写出来,和大家分享一下,还望各位多指教:
1、 响应时间,响应时间是对用户请求作出响应所需要的时间,它可以划分为两个部分,一是呈现时间、二是系统响应时间,其中呈现时间取决于数据在被客户端收到响应数据后呈现页面所消耗的时间,而系统响应时间指应用系统从请求发现开始到客户端接收到数据所消耗的时间。在一般性能测试中,一般不关注呈现时间,这是因为呈现时间在很在程度上取决于客户端的表现。如果一台内存不足的客户端机器在处理复杂页面的时候,其呈现时间可能就很长,而这并不能说明整个系统的性能。
为了能更好定位性能瓶颈的所在,还可以对响应时间再进一步分解,它是由网络传输时间和数据处理时间(也叫应用延迟时间)。
需要说明一点是,对客户来说,响应时间能否被接受是一带有一定的主观色彩,它的时间长短没有绝对区别,所以在进行性能测试的时候,合理的响应时间取决于实际的用户需求,而不能依据测一群群人员自已的设想来决定
2、 并发用户数:从客户端角度是理解,它是在同一个时间内访问系统的用户数量,也就是说如果性能测试的目标是验证当前系统能否支持现有用户的访问,最好的办法就是弄清楚会有多少用户会在同一个时间段内访问被测试的系统。通过测试了解到当系统处于该用户量的访问时,会具有怎么的性能表现。从服务器端承受的压力考虑,它是同时向服力器端发出请求的客户数,一般结合并发测试使用,体现的是服务端承受的最大并发访问数。在实际的性能测试中,要搞清与并发用户数相关的概念,系统用户数(该体系统的使用用户数)和同时在线用户人数,
3、 吞吐量:是指单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力。一般来说,吞吐量用请求数/秒或是页页数/秒来衡量,从业务的角度,吞吐量也可以用访问人数/天或是处理的业务数/小时等单位来衡量,从网络的角度来说,也可以用字数/天来考察网络流量。
对于交互式应用来说,吞吐量指标反映的是服务器承受的压力。在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力;另外,在性能调优的过程中,吞吐量指标也有得要的价值。吞吐量指档可以在两个方面发挥作用:
1) 用于协肋设计性能测试场景,以及衡量性能测试场景是否达到了预期的设计目标:在设计性能测试场景时,吞吐量可被用于协助设计性能测试场景,根据估算的吞吐量数据,可以人对应到测试场景的事务发生频率、事务发生次数等;另外,在测试完成后,根据实际的吞吐量可以衡量测试是否达到了预期的目标。
2) 用于协助分析性能瓶颈:吞吐量的限制是性能瓶颈的一种重要表现开式,因此有针对性地对吞吐量设计测试, 可以协助尽快定位到性能瓶颈所在的位置。
4、 性能计数器:是描述服务器或操作系统性能的一些数据指标。例如:对windows系统来说,使用内存数(Memory In Usage)就是常见的计数器。
计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是在分析系统的可扩展性、进行性能瓶颈的定位时,对数器取值的分析非常关键。 与性能计数器相关的另一个术语是“资源利用率”。它指的是系统各种资源的使用状况。为了方便比较,一般用“资源的实际使用/总的资源可用量”形成资源利用率的数据,用以进行各种资源使用的比较。
5、 思考时间:从业务的角度来说,在这个时间指的是用户在进行操作时,第个请求这间的间隔。从自动化测试实现的角度来说,要真实地模拟用户操作,就必须在测试脚本中让各个操作之间等待一段时间,体现在脚本中,具体而言,就是在操作之间放置一个Thinktime的函数,使得脚本在执行两个操作之间等待一段时间。
标题搜索
我的存档
数据统计
- 访问量: 24142
- 日志数: 24
- 建立时间: 2006-12-06
- 更新时间: 2013-09-24