web test / docs / QA

 

Mercury 认证介绍

http://www.51testing.com/news/20050802_1.htm

HP-Mercury认证是全球最为权威的软件测试领域认证,包括SP(Specialist Product)/CPC(Certified Product Consultant)。由于HP-Mercury的市场领导者地位,通过HP-Mercury认证(尤其是CPC认证)被认为是加入国际顶尖的测试专家的行列。

 

HP Mercury认证

http://blog.csdn.net/wb96a1007/article/details/8701844

1. 考试目的:

针对Mercury公司产品自动化测试工具(QTP)、性能测试工具(LoadRunner)的掌握程度的认证。

2.考试级别:

CPE、SP、CPC

3.考试费用:

国内唯一代理培训机构51testing,三个级别的培训+报名费用均为4800 RMB。

4.其他说明:

自Mercury被HP收购后,Mercury认证改名为HP Mercury认证,且取消了51testing的代理培训。

现认证正在调整中,国内好像已经停考这个证了。

 

您现在的位置:首页 >> IT技能 >> 软件测试频道 >> 软件测试资料列表 >> 关于考试

http://it.114study.com/testing/articlelist11252.htm

  • 标题
    点击数
    日期

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LoadRunner CPC认证考试复习试题

http://www.51testing.com/html/74/156874-80237.html

 

从测试人员到测试经理

http://www.51testing.com/html/74/156874-805378.html 

 

怎样才能测试WEB系统支持多少用户

http://internet.voc.com.cn/152776/856750222485b.shtml

 

标准和规范

《银行业软件测试文档规范》等行业标准发布

http://www.financialnews.com.cn/yh/xw/201304/t20130409_30349.html

记者周萃报道 中国人民银行日前发布了两项由农业银行牵头制定的行业标准:

JR/T 0101-2013《银行业软件测试文档规范》和JR/T 0102-2013《银行业产品说明书描述规范》。

缺陷管理培训考核试题.xls

缺陷管理培训课程大纲.rar

缺陷管理课件.rar

 

遗留问题意向书

 

10.非功能需求定义与测试.pdf.rar

http://wenku.baidu.com/view/b477eec3aa00b52acfc7cab8.html

http://dl.iteye.com/topics/download/04556c41-5a62-3567-a16b-ed999fc6da7a

 

 

性能测试计划人天表--初稿(40.5人天)

 

  事项 时间(人天) 备注
测试准备 需求讨论及确定 4  
  业务场景讲解及熟悉 1  
  测试计划 2  
  测试计划评审 1  
  测试数据及相关资源准备与协调 1

依赖于开发对测试数据的准备完备度

和项目组协调资源的完成度

测试执行 验证测试环境及测试数据 0.5  
  录制及验证测试脚本 10  
  多场景基准验证 1  
  场景1测试及测试结果分析 2  
  场景2测试及测试结果分析 2  
  场景3测试及测试结果分析 2  
  场景4测试及测试结果分析 2  
  综合场景测试 4  
  性能问题定位及解决* 3

对开发人员解决问题的时间有依赖,

如遇延迟,整体后续测试顺延

  复测相关场景 2  
总结评审 准备测试报告 2  
  测试报告评审 1  

 

 

测试资产            内容
1    测试理论    需求分析    如何提取性能需求,性能指标的获取,通用方法以及具体系统的分析办法
        场景设计    如何针对不同的系统进行场景的设计,如何针对压力点进行场景的设计,以及不同负载下场景的设计等等
        策略制定    针对系统的具体的策略的制定,针对复杂的系统如何去测试
        测试方法    针对不用的应用类型,系统的特定的测试方法
        流程规范    性能测试整体的流程和规范,包括对内和对外,各种文档的模板,等等
        关注的指标    针对不同的系统,应用应该关注的性能指标,通用的以及特定的
2    测试技巧    工具使用    各种工具使用的规范,技巧的梳理总结
        系统监控    操作系统层面的监控的各项指标,以及监控方法的记录,报告中应该监控的指标
        中间件的监控    针对各种中间件的监控,分为通用的监控和特殊用途的中间件的监控指标
        数据库的监控    数据库的监控的指标(数据库架构部) 以及监控的方法
        问题诊断    诊断问题的思路,方法以及如何借助工具解决问题
3    经验总结    性能问题总结    性能测试中遇到的问题的分析总结,按照王云戈的模板来写,需要分各种目录
        生产问题跟踪    跟踪总结生产环境上遇到的分析,导致的原因,解决的办法
4    技术提升    比较好的资料    收集到的各领域的比较好的资料,按照计划领域来划分
5    组内分享    组内技术分享    每次技术分享的主题,记录,类似会议纪要的方式

 

end

 

1.1 开发管理中心\1.1.3 测试管理部\1.1.3.5 培训\缺陷管理培训\缺陷管理培训考核试题.xls 

 

性能测试角色

性能测试架构师、性能调优师、测试脚本开发 / 调试员、数据分析员、、、

 

软件测试的分类

http://tieba.baidu.com/p/426698418

1.基于是否关注软件结构与算法 
黑盒测试
白盒测试

2.基于是否执行被测试软件
静态测试
动态测试
3.基于测试的不同阶段

单元测试
集成测试
系统测试
验收测试
4.软件测试的内容 

回归测试
功能测试
负载测试 
压力测试
性能测试 
易用性测试 
安装与反安装测试
恢复测试 
安全性测试
兼容性测试
内存泄露测试
比较测试
Alpha 测试
Beta测试

软件测试的完整分类

http://blog.csdn.net/kerryzhu/article/details/5631960

http://dl.iteye.com/upload/attachment/0071/3024/a0d2e031-4550-3fe6-a3df-83e164d2d69f.gif

web test / docs / QA

http://dl.iteye.com/upload/attachment/0071/3026/a1bdd319-fbe8-3fd0-8490-1e1be21a3e88.gif

web test / docs / QA

http://dl.iteye.com/upload/attachment/0071/3028/b96e710f-5b85-31b6-a75a-370e2766d32e.gif

web test / docs / QA

http://dl.iteye.com/upload/attachment/0071/3030/24ce4195-dd9f-37e7-a742-b3fad935ca40.gif

web test / docs / QA

http://dl.iteye.com/upload/attachment/0071/3032/08436a6b-4fea-35a9-b31a-bad2f7393b76.gif

web test / docs / QA

 

http://dl.iteye.com/upload/attachment/0071/3019/d1feb1c1-8f43-3d76-a959-eca18653e46c.gif

web test / docs / QA

http://dl.iteye.com/upload/attachment/0071/3021/37ef49b1-3437-396b-adb7-f68a622c672b.gif

web test / docs / QA

计算机四级软件测试工程师考试大纲盘点
http://news.bangkaow.com/news/20120315/336350.html
◆ 基本要求:

1.熟悉软件质量、软件测试及软件质量保证的基础知识;

2.掌握代码检查、走查与评审的基本方法和技术;

3.掌握白盒测试和黑盒测试的测试用例的设计原则和方法;

4.掌握单元测试和集成测试的基本策略和方法;

5.了解系统测试、性能测试和可靠性测试的基本概念和方法;

6.了解面向对象软件和WEB应用软件测试的基本概念和方法;

7.掌握软件测试过程管理的基本知识和管理方法;

8.熟悉软件测试的标准和文档;

9.掌握QESuite软件测试过程管理平台和QESat/C++软件分析和工具的使用方法。

◆ 考试内容:

一、软件测试的基本概念

1.软件质量的概念。

2.软件测试的目标和原则。

3.软件测试的心理学。

4.软件测试的经济学。

5.软件质量保证。

二、软件测试的类型及其在软件开发过程中的地位

1.软件开发阶段。

2.规划阶段的测试。

3.设计阶段的测试。

4.编码阶段的测试。

5.验收和维护阶段的测试。

三、代码检查、走查与评审

1.桌面检查。

2.代码走查。

3.代码检查。

4.同行评审。

四、覆盖率(白盒)测试

1.覆盖率测试。

2.逻辑结构的覆盖率测试。

3.路径覆盖率测试。

4.数据流测试。

5.程序变异测试。

6.基于覆盖的测试用例选择。
五、功能(黑盒)测试

1.边界值测试。

2.等价类测试。

3.基于因果图的测试。

4.基于决策表的测试。

5.基于状态图的测试。

6.基于场景的测试。

7.比较测试。

六、单元测试和集成测试

1.单元测试的目标和模型。

2.单元测试策略。

3.单元测试分析。

4.单元测试的测试用例设计原则。

5.集成测试基本概念。

6.集成测试策略。

7.集成测试分析。

8.集成测试用例设计原则。

七、系统测试

1.系统测试概念。

2.系统测试方法。

3.系统测试的实施。

八、软件性能测试和可靠性测试

1.软件性能的概念。

2.性能测试的执行。

3.软件可靠性的概念。

4.可靠性预计。

5.可靠性分析方法。

6.软件可靠性测试的执行。

 

Taobao各软件开发小组主页

http://tompig.iteye.com/blog/1125083

 

http://miss678.iteye.com/blog/1144470

1.什么是负载测试?什么是性能测试?
2.性能测试包含了哪些测试(至少举出3种)
3.简述性能测试的步骤
4.简述使用Loadrunner的步骤
5.什么时候可以开始执行性能测试?
6.LoadRunner由哪些部件组成?
7.你使用LoadRunner的哪个部件来录制脚本?
8.LoadRunner的哪个部件可以模拟多用户并发下回放脚本?
9.什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?
10.什么是场景?场景的重要性有哪些?如何设置场景?
11.请解释一下如何录制web脚本?
12.为什么要创建参数?如何创建参数?
13.什么是关联?请解释一下自动关联和手动关联的不同。
14.你如何找出哪里需要关联?请给一些你所在项目的实例。
15.你在哪里设置自动关联选项?
16.哪个函数是用来截取虚拟用户脚本中的动态值?(手工管联)
17.你在VUGen中何时选择关闭日志?何时选择标准和扩展日志?
18.你如何调试LoadRunner脚本?
19你在LR中如何编写自定义函数?请给出一些你在以前进行的项目中编写的函数。
20.在运行设置下你能更改那些设置?
21.你在不同的环境下如何设置迭代?
22.你如何在负载测试模式下执行功能测试?
23.什么是逐步递增?你如何来设置?
24.以线程方式运行的虚拟用户有哪些优点?
25.当你需要在出错时停止执行脚本,你怎么做?
26.响应时间和吞吐量之间的关系是什么?
27.说明一下如何在LR中配置系统计数器?
28.你如何识别性能瓶颈?
29.如果web服务器、数据库以及网络都正常,问题会出在哪里?
30.如何发现web服务器的相关问题?
31.如何发现数据库的相关问题?
32.解释所有web录制配置?
33.解释一下覆盖图和关联图的区别?
34.你如何设计负载?标准是什么?
35.Vuser_init中包括什么内容?
36. Vuser_end中包括什么内容?
37.什么是think time?think_time有什么用?
38.标准日志和扩展日志的区别是什么?
39.解释以下函数及他们的不同之处。
Lr_debug_message
Lr_output_message
Lr_error_message
Lrd_stmt
Lrd_fetch
40.什么是吞吐量?
41.场景设置有哪几种方法?


 1.什么是负载测试?什么是性能测试?
负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。负载测试是一种测试方法,可以为性能测试、压力测试所采用。负载测试的加载方 式也有很多种,可以根据测试需要来选择。

性能测试是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。

压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。
2.性能测试包含了哪些测试(至少举出3种)
压力测试、负载测试、并发测试、可靠测试、失效恢复测试。
3.简述性能测试的步骤
Step 1. Identify the Test Environment
Step 2. Identify Performance Acceptance Criteria
Step 3. Plan and Design Tests
Step 4. Configure the Test Environment
Step 5. Implement the Test Design
Step 6. Execute the Test
Step 7. Analyze Results, Report, and Retest

4.简述使用Loadrunner的步骤
脚本录制设置—录制脚本—调试脚本—场景设置—结果分析
5.什么时候可以开始执行性能测试?
在产品相对比较文档,功能测试完成后。灵活性比较强。
6.LoadRunner由哪些部件组成?
virtual user generator
contorller
analysis
7.你使用LoadRunner的哪个部件来录制脚本?
virtual user generator
8.LoadRunner的哪个部件可以模拟多用户并发下回放脚本?
contorller
9.什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?
集合点:设置多个用户到达某个用户数量点集合,同时触发一个事务,以达到模拟真实环境下同时多个用户操作,同时模拟负载,实现性能测试的最终目的
LR_rendezvous(“集合点名称”)
10.什么是场景?场景的重要性有哪些?如何设置场景?
场景:模拟真实环境中,用户运行状况。
1.通过场景来模拟实际用户的操作,性能测试结果才具有代表性。
2.在运行过程中也需要关注场景性能测试值,测试过程是否正常。

1.选择场景中需要的脚本
2.选择为目标场景,还是指定的手工场景
3.设置用户数、设置产生负载的设备
4.设置执行策略
milan
2010-1-22 19:29:27
11.请解释一下如何录制web脚本?
LR通过转发请求,来捕获数据包,来形成脚本
12.为什么要创建参数?如何创建参数?
参数:在环境变化时必须时脚本具有环境变化的能力,就需要参数化(客户端发送到服务器端)
1.确定要参数话的数据
2.设定规则形式来取值

13.什么是关联?请解释一下自动关联和手动关联的不同。
关联:很多构架用sessionid等方法标识不同任务和数据,应用在每次运行时方式发送数据不完全相同,
需要利用的机制对录制的脚本进行处理,这种机制叫做关联(服务端发送到客户端)
14.你如何找出哪里需要关联?请给一些你所在项目的实例。
用户登陆,
客户端发送请求后,服务端验证正确性后,发送给客户端sessionid,是某种规则产生。
15.你在哪里设置自动关联选项?
两地方可以设置
1.设置允许录制时进行自动关联,可以自定义规则
2.录制完成后,vuser-scan action for correlations
16.哪个函数是用来截取虚拟用户脚本中的动态值?(手工关联)
17.你在VUGen中何时选择关闭日志?何时选择标准和扩展日志?
Run-time,log,
当调试脚本时,可以只输出错误日志,当在场景找你管加载脚本时,日志自动变为不可用。
Standard Log Option:选择标准日志时,就会在脚本执行过程中,生成函数的标准日志并且输出信息,供调试用。大型负载测试场景不用启用这个选项。
扩展日志包括警告和其他信息。大型负载测试不要启用该选项。用扩展日志选项,可以指定哪些附加信息需要加到扩展日志中

18.你如何调试LoadRunner脚本?
VuGen有两个选项帮助调试Vuser脚本。Run Step by Step 命令和断点(breakpoints)。Option对话框中的调试设置(Debug setting)项,可以确定在场景执行过程中执行轨迹范围。 调试信息写在output窗口。可以用
lr_set_debug_messag函数在脚本中手工设置信息类型。如果我们只想接收到一小段脚本的调式信息。

19.你在LR中如何编写自定义函数?请给出一些你在以前进行的项目中编写的函数。
在创建用户自定义函数前我们需要和创建 DLL(external libary)。把库放在VuGen bin 目录下。一旦加了库,把自定义函数分配做一个参数。该函数应该具有一下格式:__declspec (dllexport) char* <function name>(char*, char*)。
milan
2010-1-22 19:30:10
23.什么是逐步递增?你如何来设置?
Ramp up这个选项用于逐渐增加服务器的虚拟用户数或负载量。设置一个初始值而且可以在两个迭代之间设置一个值等待。设置Ramp up,请到‘Scenario Scheduling Options’。

24.以线程方式运行的虚拟用户有哪些优点?
VuGen提供了用多线程的便利。这使得在每个生成器上可以跑更多的虚拟用户。如果是以进程的 方式跑虚拟用户,为每个用户加载相同的驱动程序到内存中,因 此占用了大量的内存。这就限制了在单个生成器上能跑的虚拟用户数。如果按进程运行,给定的所有虚拟用户数(比如100)只是加载一个驱动程序实例到内存 里。每个进程共用父驱动程序的内存,因此在每个生成器上可以跑更多的虚拟用户。

25.当你需要在出错时停止执行脚本,你怎么做?
lr_abort函数放弃虚拟用户脚本的执行。说明虚拟用户停止Action的执行,直接 执行vuser_end 然后结束执行。在出现错误情况下想手工放弃脚本的执行,这个函数是有用的。用这个函数停止脚本时,Vuser被指定为“Stopped”状态。为了这个函 数起作用,开始时候就不能选择Run-Time Settings中的Continue on error选项

26.响应时间和吞吐量之间的关系是什么?
吞吐量图显示的是虚拟用户每秒钟从服务器接收到的字节数。当和响应时间比较时,可以发现随着吞吐量的降低,响应时间也降低,同样的,吞吐量的峰值和最大响 应时间差不多在同时出现。

27.说明一下如何在LR中配置系统计数器?
通过Web资源监视器,利用这些监控器可以分析web服务器的吞吐量、点击率、每秒http响应数以及每秒下载的页面数。

37.什么是think time?think_time有什么用?
思考时间是真实用户在action之间等待的时间。例如:当一个用户从服务器接收到数据时,用户可能需要在响
应之前等待几分钟回顾数据,这种推迟被称为思考时间。

38.标准日志和扩展日志的区别是什么?
Standard Log Option:选择标准日志时,就会在脚本执行过程中,生成函数的标准日志并且输出信息,供调试
用。大型负载测试场景不用启用这个选项。
扩展日志包括警告和其他信息。大型负载测试不要启用该选项。用扩展日志选项,可以指定哪些附加信息需要
加到扩展日志中
39.解释以下函数及他们的不同之处。
Lr_debug_message
lr_debug_message 函数在指定的消息级别
// 处于活动状态时发送一条调试消息。如果指定的
// 消息级别未处于活动状态,则不发出消息。
Lr_output_message
要发送不是特定错误消息的特殊通知,
Lr_error_message
函数将错误消息发送到
// 输出窗口和 Vuser 日志文件
Lrd_stmt lrd_exec 函数执行 lrd_stmt 设置的 SQL 语句。
Lrd_fetch  函数从结果集中提取后续若干行
result set.
函数准备用于
// 通过光标输出字符串(通常为 SQL 语句)
// 的下一结果集。对于 CtLib,它发出 ct_result
// 命令,并且在 ODBC 中它运行用于当前数据库

40.什么是吞吐量?
单位时间内系统处理客户端的请求数。

41.场景设置有哪几种方法?
目标场景,手工场景

 

 
性能测试规范

1.我们测试中不用考虑项目的上线时间,我们给出我们做这个项目需要的时间,至于会不会导致上线推迟是项目经理的事情。因为我们做了很多项目
但是都没被纳入为项目组的人员。切记切记,不是项目组给我们多少时间,是我们做这个事情 就要这么多时间

2. 技术管理中心性能测试组不对任何项目的系统的性能负责,目前我们还不是QA部门。一旦项目组提出让我们保证什么不出现宕机什么的就直接说 你们的系统我们不做任何保证

3. 计划方案中设计项目组和性能测试组之间职责分工的一定要明确写在计划方案里,不要认为口头上同意了就行,那个没用,之前就出现项目组中途变卦,需要项目组做的事情,负责人是谁,,谁来做的,什么时间完成 都要清清楚楚。

4. 计划方案里面一定要明确测试进出的条件。不要出现模棱两可的东西,导致测试出现扯皮的事情。

5.计划方案的负责人都写自己,不用写顾问和我了。总协调的可以把我协商。

6. 我们是一个团队,每个人都要小心点,不要让一个项目闹出事情来,导致整个组被批评,切记切记,可以多用点时间来保证质量。

以上几点务必理解清楚,不清楚的可以找我沟通 交流 
 
在上面还没对我们组的职责定位明确之前,我们组是 在有条件有资源的情况下给其他项目组组做一些测试,不从属项目组下面,不是他们的下属,沟通 协调的时候理直气壮一些

怎样才能测试WEB系统支持多少用户

http://internet.voc.com.cn/152776/856750222485b.shtml

1 怎样的性能测试结果才是有效的
1.1 错误观点
性能测试工具运行一定用户数都成功,则表示该服务器能支持这么多用户数。这是错误的。
解答:
A. 因为一次有效的测试结果,不只用户都运行成功,同时需要保证访问一个页面或一次交易的响应时间在合理范围。“2-5-8原则”,简单说,就是当用户访问一 个页面或一次交易能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;当用户在5-8秒以内 得到响应时,会感觉系统的响应速度很慢,但是还可以接受;而当用户在超过8秒后仍然无法得到响应时,会感觉系统糟透了,或者认为 系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。
B. 测试场景不一定模拟了真实业务场景,因为浏览器是并发多线程多TCP完成一个页面的,而测试工具基本都是1,2个线程;对服务器的压力是不一样的,真实环境的TCP压力是性能测试工具虚拟环境的几倍。
2 影响WEB服务器性能指标的因素有哪些
为什么性能测试工具,需要提供事务(页面或交易、全脚本)指标、TCP连接、吞吐量、服务器资源监控、请求数/响应数。
硬件资源:如CPU、内存、网卡吞吐量、I/O能力、SWAP交换能力
线程数:这里介绍JAVA的WEB服务器,默认每线程占用的内存为2M,而32为系统JAVA进程(如tomcat、JBoss)占得空间只有2G(一般比这个小),因此线程数有限制;64为无限制线程,但CPU要跟得上
TCP 连接数:操作系统的TCP连接数理论值一般很大,操作系统对TCP连接设置有默认值(怎么配置,可以网上搜索,这里不介绍);但实际测试中TCP连接在几 百,就出现测试的响应时间很长。抓包分析,原来是三次握手的SYN包服务器不及时响应,导致SYN重传(3秒后,9秒后)。
如果SYN丢了,则会重发,但是第一次是3秒后,第2次是在9秒后,如果重发才收到的SYN_ACK,则导致TCP连接超长,从而导致业务响应时间延长。
响应时间:服务器响应时间小,用户体验才好,在大量用户并发的情况下,HTTP响应时间在用户忍受度下才是有效的,一般采用“2-5-8原则”。
软件本身代码性能算法:这个不做介绍,如差的算法、查询数据库时间长等等。
3 测试人员经常遇到的一些常见问题及解答
3.1为什么使用浏览器访问页面响应很快,1-2秒就完成;而使用测试工具却需要10几秒,甚至几十秒才完成脚本
解答:
A. 这是由于浏览器访问页面响应是并发的,同时并发多个线程(多个Socket),而性能测试工具基本是串行发送请求的。如果一个页面有100个资源 (CSS、HTML、JS、图片),需要发送100个HTTP请求,如果使用6个线程(浏览器),则每个大概请求14个HTTP;如果使用一个线程(测试 工具),则需要请求100个,时间当然大很多。下图为chrome浏览器调试工具显示的并发情况
B. 另外浏览器具有缓存功能,如果之前访问了www.qq.com,会把一些图片缓存在浏览器临时目录,下次请求时发送的HTTP请求会带上If-Match 或Etag等头域,WEB服务器判断资源没改变则会304响应,而不是回200 OK,这样减少资源的传输,所以时间就小。而有些测试工具是不携带这些头域(包括Loadrunner),因此回的响应是200 OK。所以测试人员默认真实测试时,可以考虑部分有缓存,部分没缓存。
3.2性能测试工具是怎么模拟WEB虚拟用户
A. 录制
使 用浏览器进行正常业务操作,性能测试工具录制下HTTP请求信息。一般需要记录URL与头域、内容、响应码。虽然不同的性能测试工具录制方式不一样(如 loadrunner采用Hook,JMeter采用代理或badbody,kylinPET采用网卡抓包与代理),但都能实现录制正常业务的 HTTP请求。
测试工具最好能录制出缓存头域,即If-Match或Etag,loadrunner好像不支持录制缓存头域。
B.模拟用户
根据录制的脚本发送HTTP请求与接收响应,发送前替换参数(实现多用户不同参数值)、接收时关联参数(从接收的响应消息获取参数值,如Cookie、JSessionID)
下面简单列举使用过的性能测试工具是如何模拟的(工具运行一个用户,然后使用wireshark抓包分析得到的结论):
Loadrunner:根据录制脚本发送HTTP请求,如果HTTP请求包括内嵌资源(如图片、CSS、JS),会启动第二个线程执行内嵌资源,即Loadrunner支持同时两个线程两个TCP连接。
kylinPET(国产):可通过配置设置一个线程或者多个线程并发发送HTTP请求,多个线程并发及TCP连接数跟浏览器行为一样。
JMeter:只有一个线程,一个TCP连接
其他工具:本人没用过,请用过的兄弟姐妹可以补充下。通过wireshark抓包分析。
3.3怎样才能测试出WEB服务器能支持多少真实用户,怎样的服务器调优参数才合理
解答:
这需要性能测试工具可以模拟出真实用户的行为,包括HTTP请求数、每用户并发线程与TCP连接数、思考时间、有无缓存。
为什么需要模拟真实用户的线程数与TCP连接数呢,上面提到过,WEB服务器的线程数与TCP连接数往往很低,这不是提高硬件就能轻松解决的,这也是服务器调优比较复杂的配置。
因此,只有尽最大能力模拟真实用户(浏览器或其它WEB客户端,可能不同浏览器的并发线程与TCP数都不一样)的行为的测试场景,测试结果才最真实,服务器调优才最有意义。
4 怎样才能测试系统支持多少用户
4.1 模拟真实用户的行为
只有模拟用户一样的行为才可以系统支持的测试用户数有效,因此需要模拟一样的并发数、TCP连接数、甚至可以是HTTP请求的时间间隔。用户可以是浏览器、智能手机、智能机顶盒,测试工具模拟他们一样的行为才是最有效的测试。
4.2 测试结果数据在合理范围
4.2.1 用户统计
成功数、失败数、每秒在线数、最大在线数,通过这些指标分析此次测试结果支持的用户数、用户最大数
4.2.2 点击率
每秒平均HTTP请求数、响应数。分析系统的处理能力
4.2.3 事务
事 务成功、失败、时间,事务一般是整个脚本运行时间、或者一个页面或一个交易,通过结果分析,得出每个事物的时间是否合理,符合“2-5-8”原则,如果测 试结果显示事物时间非常大,则表示系统支持不了此次测试的用户,因为用户的响应时间太大(像火车订票一样,太多用户导致响应时间长,用户无法忍受,则认为 这个系统烂)。
当然,还需要查看事务的百分比,分析90%、80%、70%、60%的事务时间是否在合理范围。
4.2.4 TCP连接信息
TCP连接成功数、失败数、TCP三次握手时间。因为此次测试结果可能是由于服务器系统或网络的TCP的丢包与重传才导致延时大的。如果是服务器的原因,服务器收到TCP的SYN而不处理,可以通过调试服务器的TCP配置来优化。
怎 么才知道是服务器的问题呢,这个需要性能测试工具能给出TCP连接时间(当前了解只有kylinPET可以支持),如果显示超过3秒,这时需要检查是网络 还是服务器问题,可以在服务器端抓包(tcpdump或wireshark)然后分析TCP的SYN信息(个数、时间)
4.2.5 资源占用
服务器的CPU、内存、带宽、I/O是不是已经不足,导致系统上不去是哪个原因,根据原因进行调优或升级。
测试时需要考虑性能测试工具的CPU占用率,如果性能测试工具占用CPU很高,此次测试可能瓶颈是在工具,而导致测试结果是无效的。

 

PDF level 2 等级考斯

 F:\projects\s×××××_hr\PDF-l2 的目录

13-12-18  16:59    <DIR>          .
13-12-18  16:59    <DIR>          ..
13-12-18  16:58            11,792 01 需求基础.rar
13-12-18  10:46            15,717 01 需求基础.xlsx
13-12-18  16:58            10,798 02 项目实施基础.rar
13-12-18  10:48            14,604 02 项目实施基础.xlsx
13-05-23  10:23            19,795 03 软件测试基础.docx
13-12-18  16:58            16,962 03 软件测试基础.rar
13-12-18  16:59           168,386 04 测试案例设计考核试题.rar
13-12-18  15:58           172,976 04 测试案例设计考核试题.xlsx
13-12-18  16:59            44,472 05 缺陷管理培训考核试题.rar
13-12-18  16:00            48,017 05 缺陷管理培训考核试题.xlsx
13-09-03  17:10           113,113 06 Linux.docx
13-12-18  16:59            27,343 06 Linux.rar
13-12-18  16:59            27,485 07《自动化测试基础》培训考核试题库.rar
13-10-10  19:20            52,736 07《自动化测试基础》培训考核试题库.xls
13-12-18  16:59             6,912 08 需求挖掘与需求分析考试.rar
13-05-20  09:36            36,864 08 需求挖掘与需求分析考试.xls
13-12-18  16:59             4,935 09 业务需要分析与编写考试'.rar
13-09-03  14:12            19,968 09 业务需要分析与编写考试'.xls
              18 个文件        812,875 字节
               2 个目录 229,374,599,168 可用字节

 

性能问题1

1.网站接口调用压测CPU掉坑现象解决

直接用queryDatabaseAndCacheData这个方法,相当于每次都从数据库取,再set到redis

我们马上将这个方法改成private,这个只能本类使用的,2014-09-23 11:20:37,redis  压爆了 响应慢了 disk狂写了

正确的接口逻辑顺序:先查询redis有无并返回,再查询DB有无并返回,DB无并反馈--先set Redis再insert DB _job,,

 

运行阶段、测试阶段引入缺陷对话 2008-12-18 13:33:41

http://blog.itpub.net/13180590/viewspace-515900/

和一同事就运行阶段、测试阶段引入缺陷的对话,重点部分加红。

 

10:53 lanmier2001: hey,忙不,请教一个问题
10:54 我: 什么问题你说
 lanmier2001: 软件在运行阶段能否引入缺陷?
10:55 能举个例子说明不?
10:57 我: 什么叫“ 软件在运行阶段”
  是不是这个意思:软件在运行阶段,会不会产生之前没有发生过的缺陷?
  如果是这个意思,那是可能的。
 lanmier2001: 不是
10:58 是这样,根据软件的瀑布模型
  软件开发分成需求、设计、实现、测试、运行五个阶段
10:59 每个阶段都应该会引入缺陷,每个阶段也都会发现缺吸纳
  别的阶段的缺陷引入是可以理解的。
  例如由需求引起的缺陷、由编码引起的缺陷等等
11:00 我: 哦,明白了
  假设系统是在jdk1.4上编译并部署的。后来这台服务器环境(运行了其他系统),将jdk升级到1.5,那么之前在jdk1.4上运行的系统就可能运行异常。
 lanmier2001: 但是对于由运行引起的缺陷不太好理解。
 我: 这种运行环境的变化,导致运行的系统产生缺陷,可不可以解释这种情况?
11:01 lanmier2001: 对的。就是这个意思。
11:02 lanmier2001: OK,看来是我经验不够,总没有办法举例说明,也就理解不清楚了。

11:32 lanmier2001: 呵呵,对了,测试阶段引入的缺陷可不可以认为是测试阶段人员的误操作引入的缺陷?
  感觉说服力都不是太强。
11:52 我: 好像不算
  想个例子
13:14 我: 测试阶段引入的缺陷,这个例子不知道适合不?测试中,需要产生一些测试数据。例如,增加了一个员工信息记录,开始程序没有对某个字段做非空控制。后来程序修改,这个字段变成了非空要求。而且在修改时是不可改。那么对于之前的测试数据,在回归测试时,就会出现一些异常。
13:16 lanmier2001: 但是我理解这个例子还是像由编码引起的。
 我: 好像编码没错啊。
  如果有错,也是没有恢复测试环境数据
13:17 lanmier2001: 这个可以认为是一个缺陷么?
13:18 我感觉如果开发接收,会认为不是缺陷reject回来的。
  或者是不是由需求引入的。
 我: 如果测试人员没有发现问题原因,会提缺陷报告。
  我更认为,开发会回复是测试环境数据问题。
13:19 lanmier2001: 对的。就是测试环境数据问题,与系统无关,也应该不是缺陷。也能认为是测试引入的缺陷么?
13:20 我: 我个人是认为这是缺陷,但是算不算测试引入的缺陷,勉强算吧。因为这个缺陷,可能开发不会完全接受
13:22 lanmier2001: 这些概念我还有些混淆。
 我: 这个例子,我自己也不是很满意
13:23 还要想个没有异议的,好一点的例子来说服自己。
 lanmier2001: 测试阶段引入的缺陷能不能理解成例如由于修改一个缺陷引起的另一个缺陷?
13:24 我: 这种我觉得也算
 lanmier2001: 还是就是由测试过程引起的缺陷?
13:25 我: 由测试过程引起的缺陷——这不变成测试人员的责任了
  lanmier2001: 测试阶段引入的缺陷能不能理解成例如由于修改一个缺陷引起的另一个缺陷?

还是这个解释好一些
13:26 而且容易接受
 lanmier2001: 嗯。
  我也这样觉得。
 我: 那这么说来,什么是编码阶段引入的?
  呵呵
  就是编码写的程序有错,本身就是错的,设计、需求都是正确的
13:27 lanmier2001: 对,这样就好理解了。
 我: 天,如果这么分,感觉一般人,或者说普通人,分不好。而且划分这个,似乎也要不少时间。
13:29 不过,如果大家遵守同一个约定,应该还是有一些度量分析意义的。先模糊一些,只要去做了,还是有进步。

……

软件测试工程师未来十年的职业规划

http://blog.csdn.net/firefly_2002/article/details/8166786

一、软件测试工程师大致有4个发展方向:

资深软件测试工程师

一般情况,软件测试工程师可分为测试工程师高级测试工程师资深测试工程师三个等级。

达到这个水平比较困难,这需要了解很多知识,例如C语言,JAVA语言,数据库,数据结构,软件工程,等等,但是你要在一家公司干3 -- 5年的话,在压力中这些技能你都会掌握!

 

测试部门管理者

小的如组长,大的如测试经理,这需要你有先天的优势,善于交流沟通,善于处理人际关系!不过做两年,你也会成为老油条的!

 

测试书籍编写者

 出书也是很赚钱的,当你在这一行干了几年,积攒了足够的经验,可以把你的经验,具体做过的项目总结出来,现在关于软件测试的书很少,你要写本与众不同的书肯定畅销!

 

软件测试培训师

当你在这一行做腻了,你可以选择培训机构,培训机构缺乏有经验的软件测试师,必然会高薪聘请你! 至于晋升流程,一个公司一个样,但是你要知道,你想发展的话,必须要委婉的让上级知道,有些你无法触及的测试项目,需要你的上级分配,一旦有无关紧要的项目或空闲时,经理就会考虑你,会让你尝试做一些高级测试项目! 这时就要看你的个人悟性了! 要知道这一行,技术越高越吃香!越能让老板和开发人员信服!

开始考虑求学、培训的充电问题,学到老才能活到老

 

二、软件测试工程师需要具备的素质

在具体工作过程中,测试工程师的工作利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。

对软件测试工程师而言,必须具有高度的工作责任心自信心

任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。

同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力

 

三、软件测试职位要求:

首先说说要做个软件测试工程师,需要了解的方方面面,也可以说是一个职业要求汇总吧。

基本常识类

1.  计算机基础知识

2.  计算机网络基础知识

3.  软件测试基本知识(软件质量,软件质量管理基础知识,软件测试概念,软件测试标准,软件测试技术及方法,软件测试项目管理)

4.  软件开发基本知识(软件工程知识,理解软件开发方法及过程)

 

技术类

1.    程序语言 

 C/C++,VB,VC,Java,.net,ASP,Javascript等。具体要求要视公司的具体项目或产品来定。但一般以C为基本要求。

2. 数据库知识

SQLServer,Oracle,Mysql,Sybase等。一般对测试人员的要求就是要求会使用,然后熟练使用SQL语句进行查询,修改,添加,删除数据操作。

 3.  操作系统

 WindowsLinux(常用的RedHat,SUSE,Debian)/Unix(FreeBSD,Solaris,HP-UX,AIX,Mac)系统。

 

自动化测试工具类

1.  自动化测试概念/自动化测试框架

好多人觉得自动化测试就是使用自动化测试工具,其实各种工具只是自动化测试实施的一个有效利器,如何建立一个脱离工具的自动化测试框架远远比研究如何使用测试工具复杂,困难的多。

2.  自动化测试流程

3.  自动化测试工具的使用

    自动化测试框架(流程)

  GUI的功能测试自动化

  非GUI的功能测试自动化

  性能测试(广义的和狭义的性能测试)

4.自动化测试工具(功能测试工具,性能测试工具,缺陷管理工具,测试管理工具)

 

实战类(工作经验)

  1.  公司的测试流程

      2.  公司的具体缺陷管理流程(提交bug报告,追踪bug状态)

     3.  测试环境的搭建及管理51Testing软件测试网m'_9M6zu$M

   4.  测试计划,测试用例,测试报告等相关文档的编写

 

语言类

  1.  英语

       2.  日语

 

四.自我分析:

1.  细心,关注细节

2.  耐心,不怕麻烦

3.  良好的沟通能力

4.  优秀的学习能力,逻辑思维强

5.  工作积极主动

6.  上进性强,永远不满足现状

7.    团队合作精神

 

五.职业规划:

   第一阶段:(测试员)初级测试工程师(初出校门)

  自身条件:初入具备计算机专业学位,有一些手工测试经验。

  具体工作:执行测试用例,记录bug,并回归测试,通过qtp等测试工具录制回归测试脚本,并执行回归测试脚本。

  学习方向:开发测试脚本并且开始熟悉测试生存周期和测试技术。

  第二阶段:(测试工程师)程序分析员(1-2年)

  自身条件:有1~2年工作经验。具有初步的自动化测试能力,完善自动化测试脚本。

  具体工作:设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。

  学习方向:拓展编程语言、操作系统、网络与数据库方面的技能。

  第三阶段:(高级测试工程师)程序分析员(3—4)

  自身条件:有3~4年经验。具有一定的行业业务知识,储备系统分析员的能力。

  具体工作:帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审 (软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。

  学习方向:继续拓展编程语言、操作系统、网络与数据库方面的技能。

  第四阶段:测试组负责人(4-6)

  自身条件:有4~6年经验。具有丰富的行业业务知识,具有系统分析员的能力,专长性能测试。

  具体工作:负责管理1~3名测试工程师或程序员。集中于技能方面,担负一些进度安排和工作规模/成本估算职责。分析性能瓶颈的原因,为开发团队提供bug解决策略。

  学习方向:性能测试,测试技能

  第五阶段:(资深安全或性能测试工程师)测试/编程高级负责人(6-10)

  自身条件:有6~10年经验的测试工程师或程序员。

  具体工作:负责管理8~10名技术人员。性能测试整体方案设计,软件系统性能问题定位和性能优化,内存优化及分析数据溢出等,分析系统的安全漏 洞等。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。负责开发项目的技术方法。为一些用户提供支持与演示。

  学习方向:开发一些特定领域的技术专长

  第六阶段:测试/质量保证/开发(项目)、经理

  自身条件:有10多年的工作经验。(10年及之后)

  具体工作:管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。为一些用户提供交互和 大量演示。负责项目成本、进度安排、计划和人员分工

  第七阶段:(公司级质量总监)计划经理

  自身条件:有10年以上开发与支持(测试/质量保证)活动方面的经验。

  具体工作:管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任

 

 

end

你可能感兴趣的:(test)