性能测试
- 性能测试:负载压力测试
- 负载压力测试:在一定约束条件下系统所能承受的并发用户量,运行时间,数据量等。
包含负载测试,压力测试,并发性能测试,疲劳强度测试,大数据量测试。 - 负载测试:系统在日常或高峰时期系统能否满足要求。
- 压力测试:指系统在什么情况下处于失效状态,以此获得系统最大服务级别。
- 并发性能测试:通过增加并发用户负载,达到系统瓶颈,分析指标来确定性能。
- 疲劳强度测试:在系统稳定运行情况下能持续的时间和最大用户数。
- 大数据量测试:针对某些业务进行大数据量测试。
- 所有测试都是为了保证功能,性能的正确性;功能校验会增加资源消耗,产生大量日志。
可靠性测试
- 可靠性:在规定条件下,软件不引起失效的概率。
- 影响可靠性因素:运行剖面,软件规模,软件内部结构,软件开发方法和开发坏境,可靠性投入等。
- 失效概率:软件从运行开发到某一时刻出现失效的概率F(t)。
- 可靠度:在规定时间内不发生失效的概率R(t)=1-F(t)。
- 平均无失效时间MTTF:指软件运行后,到下一次出现失效的平均时间。
- 可用性(也称有效性) 是指可维修产品在规定的条件下使用时具有或维持其功能的能力。
A=MTBF/(MTBF+MTTR)即平均无故障时间/无故障时间+修复时间。 - 软件可靠性测试的目的:发现软件系统在需求、设计、编码、实施等方面的各种缺陷;为软件的使用和维护提供可靠性数据;是否达到可靠性的定量要求。
广义:指为了最终评价软件系统的可靠性而运用建模、统计、实验、分析、评价等一系列手段对软件系统实施的一种测试。
狭义:指为了获取可靠性数据,按预先设定的测试用例,在软件的预期使用环境中,对软件系统实施的一种测试。 - 可靠性目标常用失效严重程度、可靠度、故障强度、平均无故障时间等指标来进行描述。
失效严重程度是对用户具有相同程度影响的失效集合。
可靠度是指软件系统在规定的条件下,规定的时间内不发生失效的概率。
故障强度是指单位时间软件系统出现失效的概率。
平均无故障时间是指软件运行后到下一次出现失效的平均时间。
站
- 表单测试:每个字段的验证;字段的缺省值;表单中的输入;提交操作的完整性。
- Web测试:除了包含系统、功能、性能测试外还包含链接、浏览器、表单、可用性测试。
- 通信吞吐量P=NTD(并发用户数在线事务数数据负载)。
- XSS跨站脚本攻击:是一种注入式攻击,通过恶意脚本进行攻击。输入带html标记的内容。
alert(“wufff!”) script> click me! b> - 图形测试:颜色饱和度对比度是否合适,突出的链接是否容易识别,是否加载所有图形。
- 页面测试:页面一致性;友好的界面和直观的导航;多种浏览器需要;文件命名体系;考虑合适的页面布局技术。
- SQL注入通过setString的方式设置参数值可以执行。
- 链接测试:内部链接测试、外部链接测试、邮件测试、断链测试。
- 系统:xp win linux ios android。浏览器:ie googleChrome firefox androidBrowser safari。
- 表单输入测试:输入域、错误输出是否有提示、必填和选填。
数据库
- 故障恢复:是否存在单点故障;一台设备失效能否快捷切换;是否采用磁盘镜像技术提高速度。
- 数据备份:是否具备良好的备份机制;是否提供外部存储器和恢复机制。
- 容灾备份:是否建立异地容灾备份中心;备份中心是否有足够的带宽保证数据同步;能否快速进行业务切换。
- 敏感数据加密保护:测试相应敏感内容是否采用加密算法进行保护。
- 数据库访问方式:是否为不同应用系统或业务设置不同的用户;杜绝使用管理员登录和默认密码。
- 安全防护策略:安全日志,入侵检测系统,漏洞扫描,隔离防护。
安全日志:记录非法用户的登录名,操作时间及内容等。被动。
入侵检测IPS:从系统内部或各种 络资源中主动收集信息,分析可能出现的攻击并能做出响应。主动。
漏洞扫描:对操作系统和 络进行检测,找出存在的漏洞和隐患。主动。
隔离防护:将系统中安全与不安全的部分进行隔离。防火墙实现内外逻辑隔离、 闸实现内外物理隔离。 - 口令认证:名称的唯一性即同时存在的用户不考虑大小写不能同名;是否满足当前流行的控制模式即最大/最小口令失效,口令历史,最小口令长度,复杂度,加密及锁定等。
- 客户端USB Key测试:、
功能-是否支持AES、RSA等加密算法;是否提供外部借口支持证书及私钥导入;是否支持数据传入Key中;是否实现USB key插入状态的实时监控;口令是否进行保护。、
性能-是否具备私钥不能导出的安全特性,key内加解密算法的执行效率是否满足系统最低要求。 - 并行输入接口测试:测试正常和异常指令的响应。
- 鲁棒性测试:输入接口帧头、指令码错误、帧长错误、帧尾错误、指令长度。
- 缺陷探测率DDP=测试发现软件问题/总问题*100%。
- 防病毒系统安全测试:支持多种平台、支持服务器、支持邮件附件、对病毒特征库与检测引擎在线更新,范围是否广泛。
安全测试
- 防火墙-是否支持交换和路由两种模式;是否支持FTP、HTTP、SNMP等服务的访问控制;是否考虑防火墙冗余设计;是否支持日志的统计分析,可否存储;对攻击提供多种警示方式。
入侵检测系统-能否检测到入侵事件时自动切断服务,记录等动作;是否支持多种方式的更新;内置 络能否使用状态监控工具或 络监听工作。 - 安全攻击手段: 络侦听-数据截取分析;冒充攻击-口令猜测、消息重演欺骗安全中心;拒绝服务-使系统无法提供服务;web安全攻击-通过xss和sql注入等盗取用户信息。
- 基本安全性的测试方法:功能验证-对服务进行功能测试;漏洞扫描-扫描系统 络存在的漏洞;模拟攻击实验-模拟攻击来验证系统的防护能力;侦听测试-对数据包进行截取进行分析。
- 秘钥管理测试法:
功能-是否具备秘钥生成、发送、存储等基本功能;秘钥功能是否完善;管理中心系统、设备、数据、人员是否严密;是否具有审计、认证、恢复、统计的能力;是否采取基于身份认证的安全通信协议。
性能-服务器性能是否可伸缩配置及扩展;并发请求数是否满足要求;是否具有大量秘钥生成、存储等功能;是否支持要求年限保护器;是否具备异地容灾备份;是否采用双机热备份和磁盘镜像。 - 加解密测试:
功能-加解密功能;统一安全接口;多密码算法支持;灵活增加密码服务模块,实现平滑扩展。
性能-长度是否达到标准;RSA、ECC等签名和验证速度及AES加解密速度是否满足业务需求;算法签名是否可扩展。
黑盒测试
- 场景法:每一个场景覆盖一种在该案例中时间不同触发顺序与处理结果形成的事件流,得出的所有测试用例。(可根据后题确定用例的个数)
- 边界值法:输入规定值范围,则应取刚达到这个范围的边界值,以及刚越过这个边界的值作为测试输入的原则。
- 错误推测法、因果图法、判定表驱动表、正交实验法、功能图法、等价类、边界值。
- 决策表法设计测试用例的步骤:确定规则个数;列出所有条件桩和动作桩;填入条件项和动作项;合并相似规则化简决策表。
白盒测试
- 判断语句:含有>、
- DC判定覆盖(分支覆盖):表达式的真假各一次。
CC条件覆盖:每个条件真假各一次。
SC语句覆盖:每条可执行语句执行一次。
MC/DC覆盖(修正条件判定覆盖):每种输入输出至少出现一次,其它条件不变,由一个条件独立改变判定的输出。 - 逻辑覆盖法达到基本路径覆盖标准的方法:画控制流图->计算V(G)->找出线性无关路径->按路径执行过程中的逻辑条件设计相应数据。
- 基本路径测试法:在程序控制流图的基础上,通过分析控制构建环路复杂性,导出基本可执行路径集合,从而设计测试用例。
嵌入式软件测试
- 扇出数不大于7且注释率不小于70%。 注释率=注释数/行数。
- 模型的验证方法是分析:正确性、有效性、有用性、高效性。
- 模型的覆盖率类型:条件、判定、mc/dc判定,语句判定。
面向对象测试
- 什么情况下父类被测试后子类还需测试:子类进行修改,调用了修改的方法。
- 多态后要在子类中均测试父类方法,并在基础之上增加对输入数据类型的考虑。
- 泛化:继承的成员函数是否需要测试 对父类测试是否能搬到子类上。
- 继承:子类重新测试 无改变可不进行测试 先测试父类再测试子类。
其它
- 功能测试、性能测试、负载测试、压力测试、开发测试、配置测试、可靠性测试、容量测试、大数据量测试、失效恢复测试、链接测试、表单测试、可用性测试、兼容性测试。
- 软件质量管理要素包括:测试过程-技术、管理、支持过程,测试人员及组织,测试工作文档。
- 测试用例覆盖率=测试需求对应数目/测试需求数目。
缺陷已修复率=累计关闭缺陷数/累计打开缺陷数。
缺陷探测率=测试人员发现缺陷数/测试人员发现缺陷数+用户发现缺陷数。
测试周期=总业务量/最大交易执行吞吐量。
通信吞吐量=并发用户数单位时间在线事务数每次处理数据的负载。 - 应对开发组提出取消的需求进行回归测试;对全部用例进行回归测试。
- 并发用户操作属于并发执行负载;
连续稳定运行12小时以上属于疲劳强度负载;
大量稿件查询属于大数据量负载。 - 性能测试关键指标:并发用户数、交易执行吞吐量、事务执行响应时间。
- 并发用户指某一物理时刻同时同向向系统提交请求的用户。
在线用户指某一时间段内访问系统的用户。 - 在增加单位时间的负载情况下,需要缩短测试周期,保证系统在连续运行时间内的总业务量。
- Transaction per second:平均交易执行吞吐量。TPS
Average transaction response time:平均交易执行响应时间。 - 从服务器资源、cpu、内存、磁盘利用率、有无瓶颈几方面看。
TPS、ATRT均体现交易执行效率,负载提高TPS不变ATRT增加。 - 安全防护体系包括的层次:实体安全(物理安全)、通信安全( 络安全)、平台安全(主机安全)、应用安全、数据安全、运行安全、管理安全。
- 服务器操作系统安全从哪些方面进行评测:是否关闭或下载不必要的服务和程序、是否存在不必要的账户、权限设计是否合理、安装补丁程序情况、操作系统日志管理。
- 安全日志应该记录:用户访问系统的操作内容、登录用户名称、登录时间、所做动作、离开时间、IP地址等。
- 通信加密的目的:保证数据在传输过程中的加密性和完整性。
通信加密测试的基本方法是验证和侦听。
秘钥加解密过程:使用对方的公钥进行加密使用自己的私钥进行解密。使用AC的公钥进行验证。 - 用户口令管理管理:口令长度、复杂度、时效性。
站登录控制:多次登录延时、账户锁定、验证码。 - 应用服务器的关键指标:操作系统、缓存状况、连接池、执行队列。
数据库服务器的关键指标:操作系统、缓存命中率、占用cpu时间、使用内存量、锁资源使用情况。 - 测试工作应覆盖需求分析、概要设计、详细设计、编码等阶段。
- 功能测试依据应该是需求规格说明书,系统功能测试应该追溯到用户需求。
- 开发工程师无权决定延期或暂停修改缺陷;
测试工程师无权认定暂停修改缺陷,应该跟踪缺陷状态,直到确定修改后关闭缺陷;
回归测试应执行所有用例;
产品发布前,应该对缺陷进行评审,分析缺陷修复情况后才可以发布。 - 基线库中的产品应该是最后经过测试的,实际发布的产品应从产品库中提取。
- 负载测试:负载模拟真实环境,在日常业务运行和高峰期间是否满足要求。
压力测试:模拟性能极限点执行测试,用来发现性能瓶颈点。 - 关键指标判断原则:响应时间3/5/8,平均占用率小于85%,内存页交换速率平均值小于80page in/s。
存在的性能瓶颈:应用服务器内存不够,数据库服务器cpu性能不足,数据库设计有问题或没有优化。 - 页仿篡改系统的基本功能:自动监控、备份与恢复、自动 警、区分合法更新和非法篡改。
页篡改的可能途径:通过操作系统、 络服务、数据库等漏洞获得控制权(平台安全)、通过猜测或破解密码获得管理员密码(数据安)、通过web漏洞和设计缺陷进行攻击(应用安全)。
安全防护体系包括的层次:实体安全(物理安全)、通信安全( 络安全)、平台安全(主机安全)、应用安全、数据安全、运行安全、管理安全。 - 打补丁、关闭未使用的端口、合理设计 站编写和代码安全、设置复杂密码、设置合适权限、安装防火墙和IPS。
- 链接测试:链接是否能够连接到目标页面、页面是否存在、是否存在孤立页面。
- 操作系统平台:windows、android、Linux、ios、unix。
浏览器:ie、firebox、Google chrome、Safari。 - SQL注入:输入包含–(注释)或含有关键字的用户名。防止方法-拼接SQL语句之前对特殊字符进行转义。
- 负载压力测试的目的:在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况、预见系统负载压力承受力,在应用实际部署之前,评估系统性能、分析系统瓶颈,优化系统。
- 数据库关机系统性能测试的性能指标:并发用户数、响应时间、资源利用率、吞吐量。
没有合适的并发/并行策略,服务器cpu性能不足,数据库设计优化不够。 - 软件质量模型有功能性、可靠性、易使用性、高效性、可维护性、可移植性。
功能性包括适用性、准确性、互操作性、符合性、保密安全性。 - 有效链接、页面是否存在、是否孤立 浏览器、操作系统、移动终端、打印。
- SQL注入测试:用户名包含关键字或转义字符。
测试SSL:将https转化成http。
内容访问:在域名后指定文件目录。
内部URL拷贝:将内部URL拷贝出来单独访问。 - 用户权限控制:对用户权限控制体系管理合理性的评价-系统管理员、业务领导、操作人员三级分离;用户名称唯一、强度、位置是否合格。对用户权限分配合理性评价-用户权限系统本省权限分配的细致程度、特定权限用户访问系统的能力。
- 访问控制系统的攻击:冒充攻击-控制企业的主机,使用该主机用户进行口令猜测访问。
重放攻击-截取身份信息,进行重演,以实现访问。
拒接服务-发送大量虚假信息使无法提供访问。
内部攻击-截取其它部门的数据流或对访问控制信息进行攻击以窃取他人权限。 - 安全审计功能的测试点:能否进行系统数据收集,统一存储,集中进行安全审计;是否支持基于PKI的应用审计;是否支持基于XML的数据采集协议审计;是否提供灵活的自定义审计规则。
- 软件可靠性测试的目的:发现软件系统在需求、设计、编码、实施等方面的各种缺陷;为软件的使用和维护提供可靠性数据;是否达到可靠性的定量要求。
广义:指为了最终评价软件系统的可靠性而运用建模、统计、实验、分析、评价等一系列手段对软件系统实施的一种测试。
狭义:指为了获取可靠性数据,按预先设定的测试用例,在软件的预期使用环境中,对软件系统实施的一种测试。 - 可靠性目标常用失效严重程度、可靠度、故障强度、平均无故障时间等指标来进行描述。
失效严重程度是对用户具有相同程度影响的失效集合。
可靠度是指软件系统在规定的条件下,规定的时间内不发生失效的概率。
故障强度是指单位时间软件系统出现失效的概率。
平均无故障时间是指软件运行后到下一次出现失效的平均时间。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!