性能测试--性能指标 1
(1)常用的性能测试 指标有哪些 ?
常用的性能测试指标通常有软件的,事务处理率,IO性能,数据库性能,内存利用率和cpu利用率等时间与资源的使用效率
(2)什么是软件的事务处理时间 ?
是指在处理某一项 任务时从开始 到完成所花费的时间,该时间不仅包括 软件产品本省处理该事务所花费的时间,而且包括使用者与软件产品交互所花费 的时间
(3)什么 是软件产品的IO性能?
包括 物理硬盘的IO性能,网络的IO性能 和其他硬件的IO性能
以物理硬盘的IO性能为例,在需要进行大量读写硬盘操作时,物理硬盘的IO性能很可能会到达瓶颈,例如多任务多线程下下载大量文件等
衡量IO性能的标准是单位时间内读写数据的数量 ,例如物理硬盘每秒读取或写入硬盘的字节数,通常白盒测试比较 容易实现对IO性能的测试
(4)什么是数据库的性能?
指的是软件在进行数据库 的查找,添加,删除,更新数据记录所花费的时间和资源,例如 测试网站添加一条用户记录所花费的时间等
提高数据库访问性能 的方式有 :
减少对数据库 操作 的次数,把一些长期使用的数据存储在内存中
减少 表与表 之间的依赖性,避免在查找 ,删除,添加更新记录时对多张表进行操作
性能测试--负载测试
负载测试 是对被测试软件产品进行各种方式的加载 以获得被测试产品在各种加载 情况下性能参数信息
1.负载测试的目的是什么?
(1)对被测产品的各项参数进行不同频率,不同时间长度 以及不同负载的压力测试 。以便于项目的开发,测试人员了解产品的性能瓶颈
(2)获取某些关键性能的指标极限,以便产品的设计人员对产品的升级周期 做预测
(3)通过压力测试 的结果获取产品的极限值,再以这些极限值为参考获取产品的工作条件
2.负载测试 的加载 策略有哪些 ?
(1)一次性加载 :一次性为被测产品加载定定量的负载 ,并且维持一个较长的时间段,该加载策略通常用于 验证被测产品在某一固定负载下是否能长时间的正常工作
(2)递增加载 :即逐步为被测产品加载负载 ,直到被测产品不能正常工作为止,该 策略通常用于获取被测产品正常工作的负载极限
(3)峰谷试加载 :即为被测产品加载一个较高的负载,并维持一段时间,然后再为被测产品加载一个较低的负载 ,并维持一段时间,如此不断重复。该加载策略通常用于发现被测产品 在不断的申请资源,释放资源的轮回中是否产生资源或者内存的泄露
(4)随机加载:即随机为被测产品加载 定量的负载,并且维持较长的一段时间,该策略用于模拟真实情况下被测产品的运行状况 ,并且发现一些不在 测试用例设计范围内的产品缺陷或性能瓶颈
安全性测试
安全性测试:主要是指有关验证应用程序 的安全等级和识别潜在安全性缺陷的过程,助于奥查找软件自身程序设计中存在的安全隐患 ,并检查应用程序对非法入侵的防范能力
一些常见的软件安全问题
缓冲区溢出
格式化字符串攻击
整数溢出
SQL注入
命令注入
跨站脚本攻击
函数错误返回值,异常未被处理
网络数据截获
脆弱的登录口令
安全性测试的主要方法有
(1)静态的代码安全测试:主要对 源代码进行安全扫描
(2)动态的渗透测试:模拟黑客的注入 ,对应用系统进行攻击性测试
(3)程序 数据 扫描:通常是进行内存测试
1.什么是跨站脚本攻击?
是指web的应用程序 从恶意用户处得到输入 ,不用进行检验就直接回显,如果这种回显由恶意的可悲浏览器解析 的脚本代码生成,一旦受害浏览器单击了包含回显的链接,则受害浏览器将会执行这些代码,从而受到攻击
2.什么是SQL注入 ?
是指在输入 的数据字符串之中夹带SQL命令,在设计不良的程序 中忽略了检查,那么夹带进去的指令就会被数据库服务器 误认为是正常的SQL指令 而运行,因此导致破坏
分析
导致 SQL注入的根源如下
(1)在SQL命令中可以夹带注解(连续两个减号后的字符称为注解,或*/与/*)所抱起来的字符也称为注解
(2)SQL命令对传入的字符串参数 是用单引号字符所括起来的,但连续的两个单引号字符在SQL中被视为字符串中的一个单引号字符
3.在你所 测试 的B/S结构软件中,在用户登录界面有何措施?
(1)对用户名和密码数据进行加密 ,在网上传输时不是明文
(2)对登录时调用的SQL语句做了处理,防止SQL注入
(3)要防止URL的SQL注入
(4)用户名和密码的文本输入框都限制了输入长度,防止缓冲区溢出
(5)如果URL输入错误 则错误提示信息中不包含 源代码等安全信息
(6)强制用户不能使用弱口令,例如长度要求在6-15之间
(7)当用户输入密码错达5次,该账户将被锁定
(8)在忘记密码所有的文本输入框内都限制了长度
(9)如果没有登录成功,即使用户输入此软件的其他页面时,也会被重定向到本页面
4.什么是cookies诈骗?
cookies是指一些网站服务器存储于计算机上的文本文件,为了辨别用户身份而存储在本地用户端上,它与服务器有一定的交互性,常存储用户名或网站的登录密码,由于cookies是保存在客户端浏览器中,对通信协议无印象,攻击者可能通过伪造cookies信息 绕过网站程序的验证,也不需要输入密码,以任意用户的身份登录网站
兼容性测试
软件兼容是指软件与硬件之间,与其他软件之间,软件本身新旧版本之间及在不同的网络环境中是否存在冲突测试,另外还包括数据共享的兼容性测试
例子:台式机上运行没有问题的软件可能在 笔记本电脑上出现问题
1.什么是向前兼容?什么是向后兼容?
向前兼容处理的是 一个较新版本编译的程序集是否可以在较老版本上执行的问题
向后兼容处理的是一个较早版本编译的程序 集是否可以在 新版本上执行的问题
2.兼容测试的方法和原则是什么?
(1)建立干净的测试环境,只保留最基本的软件,去除多余因素的干扰
(2)每一次只把另一个软件和待测试软件同时使用,便于定位兼容性问题
(3)选择流行的应用软件,操作系统来进行兼容性测试
(4)对兼容性软件进行分类,如画图类,杀毒类,财务类和数据库类,每类软件选择几种
(5)对兼容软件选择不同的生产厂商
(6)对兼容软件选择最新的版本