系统测试

 

白盒测试

白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

黑盒测试

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

测试工具介绍

Microsoft Web Application Stress Tool

能有效测试一个网站的负载性能,这个软件可以通过脚本模拟100个强并发用户的访问,并模拟实际用户的一些点击操作,WAS还可以连接上远程Windows网站服务器的性能计数器(Performance Counter),通过对服务器性能(CPU/内存等)的性能分析来找到系统的瓶颈。CPU使用百分比反映了处理器开销,CPU使用百分比持续地超过75%是性能瓶颈在于处理器的一个明显的迹象。

自动化测试工具WinRunner

Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行

工业标准级负载测试工具Loadrunner

LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。

全球测试管理系统testdirector

TestDirector是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理

功能测试工具Rational Robot

IBM Rational Robot 是业界最顶尖的功能测试工具

单元测试工具xUnit系列

目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnitjava),CppUnitC++),DUnit Delphi ),NUnit.net),PhpUnitPhp )等等。

功能测试工具SilkTest

这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误

性能测试工具WAS

Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。

自动化白盒测试工具Jtest

Jtestparasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。

性能测试和分析工具WEBLODE

webloadRadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。

 

LINUX运维常用

Ab

abapache自带的一款功能强大的测试工具.安装了apache一般就自带了

参数众多,一般我们用到的是-n -c

例如:./ab -c 1000 -n 100 http://www.askwan.com/index.php

这个表示同时处理1000个请求并运行100index.php文件.

http_load

_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。可以测试HTTPS类的网站请求。

命令格式:http_load  -p 并发访问进程数  -s 访问时间  需要访问的URL文件

http_load -p 30 -s 60  urllist.txt准备URL文件:tst.list,文件格式是每行一个URLURL最好超过50100个测试效果比较好,另外,测试结果中主要的指标是 fetches/sec 这个选项,即服务器每秒能够响应的查询次数,用这个指标来衡量性能。似乎比 apacheab准确率要高一些,也更有说服力一些。

Webbench

webbenchLinux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。

用法:webbench -c 并发数 -t 运行测试时间 URL

webbench -c 5000 -t 120 http://www.askwan.com

Siege

vi ~/.siegerc调整:

verbose = false

concurrent = 50

delay = 1

internet = true

benchmark = true

参数介绍:

* -c 设置并发的用户(连接)数量,比如-c10,设置并发10个连接。默认的连接数量可以到~/.siegerc中查看,指令为concurrent = x,前面咱们已经调整了默认并发连接为50

* -rrepetitions),重复数量,即每个连接发出的请求数量,设置这个的话,就不需要设置-t了。对应.siegerc配置文件中的reps = x指令

* -ttime),持续时间,即测试持续时间,在NUM时间后结束,单位默认为分,比如-t10,那么测试时间为10分钟,-t10s,则测试时间为10秒钟。对应.siegerc中的指令为time = x指令

* -b (benchmark),基准测试,如果设置这个参数的话,那么delay时间为0。在.siegerc中咱们修改为默认开启。

* -f url.txt (file),这是url列表文件。对应.siegerc配置文件中的file = x指令

Linux curl

$ curl http://www.linuxidc.com回车之后,www.linuxidc.com html就显示在屏幕上

$ curl http://www.linuxidc.com > page.htmlcurl的内置option就好,存下http的结果,用这个option: -o

$ curl -o page.html http://www.linuxidc.com可以看到屏幕上出现一个下载页面进度指示。等进展到100%,完成

使用curl,用这个option可以指定http访问所使用的proxy服务器及其端口: -x

$ curl -x 123.45.67.89:1080 -o page.html http://www.linuxidc.com

option: -D <— httpresponse里面的cookie信息存到一个文件中去

$ curl -x 123.45.67.89:1080 -o page.html -D cookie0001.txt http://www.linuxidc.com

当页面被存到page.html的同时,cookie信息也被存到了cookie0001.txt里面了

下一次访问的时候,如何继续使用上次留下的cookie信息呢?要知道,很多网站都是靠监视你的cookie信息,来判断你是不是不按规矩访问他们的网站的。

这次我们使用这个option来把上次的cookie信息追加到http request里面去: -b

$ curl -x 123.45.67.89:1080 -o page1.html -D cookie0002.txt -b cookie0001.txt http://www.linuxidc.com

LoadRunner

LoadRunner 包含下列组件:

 虚拟用户生成器用于捕获最终用户业务流程和创建自动性能测试脚本(也称为虚拟用户脚本)。

Controller 用于组织、驱动、管理和监控负载测试。负载生成器用于通过运行虚拟用户生成负载。 Analysis 有助于您查看、分析和比较性能结果。Launcher 为访问所有 LoadRunner 组件的统一界面

 

负载测试流程

计划负载测试:定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间。

创建 Vuser 脚本:将最终用户活动捕获到自动脚本中。

定义场景:使用 LoadRunner Controller 设置负载测试环境。

运行场景:通过 LoadRunner Controller 驱动、管理和监控负载测试。

分析结果:使用 LoadRunner Analysis 创建图和报告并评估性能。

 

优先级-NI

为了确保重要的进程能够得到 CPU,这种选择是基于调度优先级 进程的。NI 列展示了调度优先级或者说每个进程的 nicenessniceness 的范围一般从 -20 19-20 表示调度优先级最高,19 表示优先级最低。niecess 的默认值是 0

CPU 密集型脚本

x="$1"

echo "$2" $(date)

while [ $x -gt 0 ]; do x=$(( x-1 ));done

echo "$2" $(date)

nice 命令显示我们的默认优先级。

nice 命令还可以用来启动具有不同优先级的进程。使用 -n (--adjustment) 选项时带一个负值可以增加优先级值,带一个正值将减少优先级值。

Nice脚本

nice –n 级别 脚本

renice +/-)级别 进程号