您的位置:首页 > 其它

测试相关总结

2012-12-10 18:23 141 查看
1、TIPS

(1)测试哪些内容

a、结果是否正确;

b、所有的边界条件是否都正确;

c、查一下反向关联;

d、用其它手段交叉检查一下结果;

e、是否可以强制错误条件发生;

f、是否满足性能要求;

(2)边界条件

a、值是否和预期一致;

b、值是否有序或无序的;

c、值是否位于合理的最小值和最大值之内;

d、代码是否引用了一些不在代码本身控制范围之内的外部资源;

e、值是否存在(非null、非0);

f、是否恰好有足够的值;

g、所有事情的发生是否是有序的,是否是正确的时刻、是否恰好及时;

(3)功能测试

定义:功能测试是为检测产品需求定义与产品实际行为之间的差异而组织进行的一系列行为。

测试方法:将产品功能点作为一个黑盒,验证其输入/输出是否满足需求;

(4)性能测试

定义:性能测试是检测产品是否满足在性能需求方面的定义。

性能测试包括:性能需求分析、性能测试方案设计、性能测试环境准备、执行性能测试、性能测试结果评估与报告。

性能测试类型:性能指标测试(如响应时间、并发数、吞吐量)、压力测试、负载测试、稳定性测试。(压力测试和负载测试一般区分不是很清晰,会同时进行)

测试方法:

(5)接口测试

定义:接口测试是针对系统的内部或者外包接口进行的功能与性能测试。接口的形式有class API,web service,REST等。

接口测试一般需要借助工具或者编码来实现。如采用Junit。

(6)安全测试

定义:安全测试主要是针对防范网络漏洞和攻击的测试。

测试类型:SQL注入测试、XSS漏洞测试(跨站点脚本攻击)、CSRF(跨站点伪造请求)、安全漏洞扫描、邮件标题注入。

攻击者通常使用XSS攻击来窃取cookies和session信息,或是欺骗用户将隐私信息暴露给错误对象(又称钓鱼)。

CSRF:通过在web页或在给用户发邮件中插入恶意脚本(通常是链接或脚本),比如发送一个带有银行取款链接的图片或脚本(通常是HTML或js)。当用户访问这个图片时,此时页面加载图片过程会隐秘链接到一个远程页面,这个页面会自动向目标站点发起请求,若这个目标站点仍保留这个用户的cookie信息,且没有过期,那么攻击者就可以在用户不知情的情况下以用户的身份登录银行或执行取款操作。

测试方法:

手工测试:有输入框的测试、带参数的URL测试;

工具测试:端口扫描工具、httpwatch工具、SQL注入扫描工具;源代码安全漏洞扫描;

(7)兼容性测试

定义:兼容性测试是验证产品在预定的环境与配置下能否正常的工作。

兼容测试范围:

不同OS下的兼容测试;

不同browser下的测试;

不同分辨率下的测试(1024*768,1280*1024)

不同编码(中文简体、中文繁体)

(8)可用性测试

定义:可用性测试是检测产品是否使用方便有效。

目的:提高用户体验。

(9)测试过程中包括如下主要产出:

a、测试计划文档

b、测试设计文档

c、测试用例

d、测试缺陷

e、测试阶段性报告

f、测试项目总结

(10)web安全测试

http://ha.ckers.org/xss.html,拥有大量跨站式脚本实例。

程序在面对误用或滥用时表现如何?——健壮性;

建立输入,确定预期结果;

当意识到风险并充分理解自己所承担的风险时,这个软件就足够安全;

递归可能会导致深堆栈或内存使用过量;

等价类:先选出几种非法输入类,然后从每个类中选出两个将其添加到测试输入集。

为了绕过某些应用的输入验证程序,可使用Base64或URL方式将某些攻击字符串编码。

加密技术只能保护会话所使用的信道,保护通信不被窃听,甚至能够让你更加肯定正在交谈的两台计算机的身份。

HTTP和HTTPS唯一区别在于HTTPS连接在初始化时有额外的设置。它建立起一条安全信道,然后通过此条安全信道来发送标准的HTTP。

在测试HTTPS应用时,要做的唯一不同的是在运行工具时额外增加一个命令行参数或配置选项。

Adobe的flash播放器可以产生HTTP请求!注:浏览器只是产生web请求的众多程序中的一种。

HTTP是无状态的,即一个连接与任何其它连接之间不存在任何关系!

操作系统:提供对原语操作的访问,如读写文件和网络通信等。

服务器软件:接受http连接,解析连接,并决定如何响应。

逻辑程序:真正考虑输入并最终决定输出。

网络服务:包括负载均衡、应用防火墙的等。

中间件:介于服务器和业务逻辑之间的软件。软件设计中加入中间件的原因是用于获得比服务器软件复杂得多的功能,可在此基础上建立自己的业务逻辑。

perl能快速完成工作,有助于安全测试用例的自动化。

(11)

2、PS

(1)jMeter完成常用的压力测试:web服务器、数据库服务器、消息中间件。

影响软件响应速度的因素:算法、用户并发数。

压力测试以软件响应速度为测试目标,尤其针对在较短时间内大量并发用户的访问时,软件的抗压能力。

(2)QPS:单个进程每秒请求服务器的成功次数。

QPS=总请求数/(进程总数*请求时间)

(3)性能测试:CPU占用率、QPS响应时间。

压力测试:访问成功率。

(4)单元测试&持续集成



(5)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: