使用LR录制C/S应用程序(工作过程记录)
日志记录了正式执行测试之前的整个工作过程(以失败经验为主),其中包括:测试方案的制定,方案的可执行性验证,以及方案执行失败后的修改与完善。此次工作为“性能测试”范畴,这个方向也是我的技术短板之一。坦白的讲,以我个人的能力几乎不能做到,之所以解决方案能够通过,在此主要感谢开发同事的全力支持和帮助。
一、初识Toad
任务刚被分配,项目组提交的测试需求为“针对底层sql 语句”执行性能测试。随即向开发人员咨询,被告知Oracle自带工具可以执行sql语句的性能分析及优化功能。但是,因为要执行并发测试,显然这个工具无法满足测试需要。随后又有同事提出使用Toad可以实现直接测试数据库中的sql语句,恰好老李那有这个工具(盗版),要过来安装、破解,通知开发人员提供测试用的sql代码。各种百度,谷歌,开始了Taod的钻研之旅。
虽然在技术帖中搜到的相关功能的介绍,但是始终无法在我的软件环境中找到此功能。直到第二个工作日才弄明白,原来Toad在8.5版本之后将所有功能整合,并通过KEY来区别不同功能,因为这个软件是按功能来收费的,恰好我所用的这个破解版不包含这个功能。不过导致这套方案失败的原因并不是因为破解,后面再说这个问题。
二、重归LoadRunner
两年没怎么碰过LoadRunner了,上一家公司基本不考虑软件的性能,自然也就不会去做性能测试了。工作环境非常重要,有些环境会让你进步神速;而有些环境,工作久了你会退步,并且斗智被逐渐消磨得一干二净。
忘记介绍项目的技术实现了。这是一个基于ArcGIS研发的GIS项目,使用ArcGIS提供的功能类库,并在此基础之上进行二次开发,当然也进行了多次封装。而ArcGIS自身基于COM&DCOM技术实现,调用了一些COM的功能类库。(项目使用Oracle作为数据库)
综上所述,使用LR录制选择什么协议,成为第一个让人头疼的问题。不过这个问题也好解决——每种协议都试一次就行了。锁定三种协议,即:Oracle(2-Tier)、COM/DCOM和Windows Sockets协议。根据我的经验分析,除了Socket协议之外,其他两个协议都无法录制内容,结果也证实了我的分析是正确的。
正如刚刚所说的,ArcGIS
相关文档:
测试代码一(VC6.0、C-code):
#include <stdio.h>
void main()
{
int aa;
unsigned char j1,j2;
aa=j1=j2=0;
aa=49;
j1=aa;
printf("j1=%d \n",j1);
j2=aa;
printf("j2=%c \n",j2);
}
【分析】:
[1]正如所想象的输出结果:
j1 ......
package zzq.main;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
/************************************************************************
* C语言趣味程序(不到)百例-之Java实现
*
* 0 ......
存储类就是用于存储程序数据的内存的类型,由三个属性来表示:存储时间、作用域和链接。
存储时期描述的是变量占用内存的时间,有静态的、自动的和分配的三种
作用域是变量起到作用的范围,有代码块作用域和文件作用域两种
链接说明该变量可以被哪些地方引用,有空链接、内部链接和外部链接三种
下面是五种存储类的属性 ......
1.求下面函数的返回值(微软)
int func(x)
{
int countx = 0;
while(x)
{
countx
++;
x = x&(x-1);
}
return countx;
}
假定x = 9999。 答案:8
思路:将x转化为2进制,看含有的1的个数。
2. 什么是“引用”?申明和使用“引用”要注意哪些问题?
答:引用就是某个目标变量的&l ......
GPIO(General Purpose Input/Output的缩写)就是芯片的引脚,引脚是可编程的可对引脚的工作模式进行设置:输入模式(检测输入信号),输出模式(输出0或1),高阻状态(常用于AD转换),还有禁止或允许上内部下拉电阻(上拉:管脚通过电阻接高电平,下拉:管脚通过电阻接地,也可以外部接上拉或下拉电阻),还有管脚复用等功能, ......