第14章-软件的其他测试技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第14章软件的其他测试技术软件的其他测试技术不是一个基本过程测试技术,是一个辅助的测试技术,用于软件测试过程中。本章重点讨论以下内容:•可用性测试;•压力测试;•确认测试;•容错性测试;•易用性测试;•安全性测试;•需求检查测试;•可靠性测试;•风险测试;•缺陷测试;•Web测试;•接口测试;•安装和反安装测试。14.1可用性测试可用性测试(UsabilityTesting)是指在设计过程中被用来改善易用性的一系列方法。为用户提供一系列操作场景和任务让他们去完成,这些场景和任务与产品或服务密切相关。14.1.1可用性测试的概念可用性测试的概念主要表现为:1.可用性是产品的一个基本的自然属性,是最终用户使用产品的可用的程度。2.可用性测试是依照可用性标准对GUI的系统评估。3.可用性是在产品和用户的相互作用中体现出来。4.可用性测试是用户在和系统(网站,软件应用程序,移动技术或任何用户操作的设备)5.交互时对用户体验质量的度量。6.可用性的基本评价指标是效率、满意和安全(容错,无错)。14.1.2可用性测试的方法可用性测试的方法主要表现为:1.对同一测试内容在同时采用多指标的测试;2.对同一测试内容在不同时间采用采用多指标的测试。14.1.3可用性测试的目的可用性测试的目的主要表现为:1.可用性测试的目的是确定用户界面设计在两个层面上的问题;2.概念的层面-和导航,用户定位和UI一致性相关地关键问题;3.详细设计的层面-遵循GUI标准和指南,使用的术语,特定的问题。14.2压力测试所谓压力测试(stresstesting)是指对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。14.2.1压力测试的定义、特点和核心原则•1.什么是压力测试压力测试(StressTest)也就是强度测试,压力测试是指模拟巨大的工作负荷来测试应用程序在峰值情况下如何执行操作。压力测试一般状态下包括以下3点:(1)短时间的极端负载测试;(2)在过量用户下的负载测试;(3)连续执行所有能做的操作。2.压力测试的特点压力测试具有以下特点:(1)压力测试通过增加访问量使应用系统的资源使用保持在一定的水平上,以此检验应用的表现,重点在于有无出错信息产生,系统对应用的响应时间等。(2)通过压力测试使系统的资源使用达到较高的水平。一般情况下,CPU的使用率要达到75%以上、内存使用率要达到70%以上。3.压力测试和负载测试的区别压力测试是在超常规负荷条件下,长时间连续运行系统,检验应用程序的各种性能表现和反应。负载测试是指测试应用程序在常规负荷下,确认响应时间和其它的性能和表现。4.压力测试的核心原则压力测试的核心原则是:重复:最明显且最容易理解的压力原则就是测试的重复。并发:并发是同时执行多个操作的行为。大数据量:给每个操作增加超常规的负载量。随机。14.2.2压力测试的目标压力测试的目标主要是通过极限测试方法,发现系统在极限或恶劣环境中自我保护能力。主要验证系统的可靠性。1.检查最终用户的响应时间。根据系统设计说明书确定的功能和性能要求完成一个业务流程应所需的时间;2.检查可靠性。检查系统功能和性能有没有错误?在大数据量状态下系统运行是否会发生故障?3.检查硬件或软件的可靠性;4.检查硬件配置是否合理;5.检验系统容量。在没有显著的性能下降情况下,系统能处理的最大负荷。14.3确认测试确认测试(ValidationTest)的目的是向用户表明系统能够像预定要求那样工作。14.3.1确认测试的定义确认测试又称有效性测试。确认测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求说明书,功能说明书,性能说明书列出的需求。14.3.2确认测试的内容确认测试内容主要包括功能和性能两部分。(1)功能测试(2)性能测试14.4容错性测试容错测试(Tolerancetest)是一种对抗性的测试过程。当软件运行出现故障时,如何进行故障的转移与恢复当前系统产生的实时数据。14.4.1容错性测试的概念容错性测试是检查软件在异常条件下自身是否具有防护性的措施或某种灾难性恢复的手段。当系统出大错时,能否在指定时间间隔内修正错误并重新启动系统。当系统出现非关性错误时能否保证系统继续运行。14.4.2容错性测试的内容容错性测试包括两个方面:•输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃。•灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失,系统和数据是否能尽快恢复。13.4.3需考虑的特殊事项故障发生时数据的转移与数据的恢复容错性测试目前主要做的事情容错性测试目前主要做的事情表现为:1.服务器断电;2.网络设备断电;3.数据库系统发生故障;4.应用系统文件发生故障;5.系统软件发生故障。14.5易用性测试易用性(Useability)是交互的适应性、功能性和有效性的集中体现。人体工程学(ergonomics)是一门将日常使用的东西设计为易于使用和实用性强的学科。14.5.1易用性测试的定义•易用性(Useability)是交互的适应性、功能性和有效性的集中体现。•易用性一般分为两个层次,即用户界面的易用性和操作系统的易用性。•易用性测试包括针对应用程序的测试,同时还包括对用户手册系统文档的测试。通常采用质量外部模型来评价易用性。14.5.2易用性测试的内容易用性测试的内容包括:1.用户界面测试。2.操作系统有内置的支持。14.6安全性测试安全性测试是软件生命周期中一个重要的环节,安全性测试在单元测试、集成测试、系统测试里一起做,以便在破坏之前预防并识别软件的安全问题。14.6.1什么是软件安全对于软件安全一般分为以下两个方面:(1)应用程序的安全性(2)操作系统的安全性14.6.2安全性测试安全性测试(SecurityTesting)是指验证应用程序的安全级别和识别潜在安全性缺陷的过程。1.安全性测试2.安全性测试方法14.7需求分析的测试需求分析是要说明软件应有的功能及性能。使分析人员能够清晰的了解用户的需求以及是否实现。14.7.1需求分析的定义和测试任务1.需求分析的定义;2.性能需求的分析;3.界面需求的分析;4.分析约束条件。14.7.2需求分析测试的内容需求分析测试的内容主要讨论以下3点:1.功能是否能满足用户的需求?2.性能是否能满足用户的需求?3.需求说明书所讨论的内容是否得到了用户的认可?14.8可靠性测试软件可靠性测试(ReliabiltyTesting)是指对软件的可靠性进行一系列设计、分析和测试,以此来满足软件可靠性的要求,它可以评估软件可靠性水平并验证软件是否达到用户对软件可靠性的要求。14.8.1可靠性测试的概述软件可靠性测试是指为了保证和验证软件的可靠性要求而进行的测试。(1)有效地发现程序中影响软件可靠性的缺陷,从而实现可靠性增长;(2)验证软件可靠性满足一定的要求;(3)估计、预计软件可靠性水平。14.8.2软件可靠性测试中需注意的问题软件可靠性测试需要注意的问题主要有3点:1.功能识别2.可靠性对时间的要求3.可靠性对环境条件的要求14.8.3软件可靠性测试的流程软件可靠性测试的执行流程大致包括:可靠性测试所需数据和数据收集;测试环境的准备;测试运行;可靠性测试数据分析。14.9风险测试风险是指在软件开发过程中遇到的预算、进度、开发不成功等方面的问题引起损失的可能性,这种风险会导致软件开发的失败。14.9.1风险表现的形式风险表现的形式主要有:–模块设计:所有模块开发没有统一设计,开发人员独立的设计测试模块;–需求变更开发:需求变更没有及时告知测试人员所造成的风险;–人力资源:测试人员没有及时到位或人员流失;–硬件资源:各种硬件资源对测试工作的影响;–测试时间:对测试时间没有进行科学、合理的规划。14.9.2风险解决策略风险解决策略主要有:1.增加资源2.缩小范围3.制定标准文档14.9.3风险测试步骤•风险分析;•风险评估;•执行风险;•风险总结。14.9.4风险管理1.风险管理关注点2.风险识别14.10缺陷测试软件中的缺陷(Defect或Bug)是软件开发过程中存在的缺点。通常,缺陷会导致软件产品在某种程度上不能满足用户的需要。14.10.1缺陷测试的定义及其内容缺陷测试是对开发的软件中是否存有缺陷进行的测试。缺陷测试关心的问题主要有:–测试软件是否达到产品说明书表明的功能;–测试软件是否出现了产品说明书中不一致的表现;–测试软件功能是否超出了产品说明书的范围;–测试软件能否达到用户期望的目标(即使产品说明书中没有要求);–测试软件的易用性(测试员或用户所认为的)。14.10.2缺陷测试应注意的问题在缺陷测试过程中需要注意的问题有:–由于市场的压力而造成的产品最终发行的时间限制;–因测试员不正确操作或错误理解引出的缺陷;–错误的修改影响的模块较多,带来的风险较大;–在缺陷报告中提出很难被重现的问题;–修改性价比太低的缺陷。14.10.3缺陷测试结论分析缺陷测试的结论往往有4种情况:(1)严重缺陷:不能执行正常工作功能或重要功能。使系统崩溃或资源严重不足。(2)较严重缺陷:严重地影响系统要求或基本功能的实现(3)一般性缺陷:影响系统要求或基本功能的实现,(4)较小缺陷:使操作者不方便或表现形式不美观,但它不影响执行工作或功能实现。14.11Web测试Web测试与一般应用系统的测试不同,链接的吻合性是web应用系统的一个主要特征,需要检查和验证是否按照设计的要求运行,而且测试系统在不同用户的浏览器的显示是否合适。更重要的是,还要从最终用户的角度进行安全性和可用性测试。14.11.1Web的功能测试Web测试主要有以下几点:(1)链接测试(2)表单测试(3)数据校验测试(4)Cookies测试(5)数据库测试(6)权限测试(7)应用程序特定的功能需求测试14.11.2Web的性能测试Web的性能测试主要用用于考察web系统在不同负载条件下网站的行为,随着多媒体技术的发展以及网络的发展,Web性能已经成为一个重要的问题,并已成为Web成功的关键因素。Web性能测试主要有以下几点•基准性能测试•负载测试•稳定性测试•压力测试14.11.3Web的用户界面测试Web的用户界面主要讨论页面、页面元素和容错性。我们讨论以下几点:(1)站在用户的角度进行测试;(2)页面元素应注意的内容;(3)容错性应注意的内容;(4)Web用户界面测试的内容;(5)表格测试;(6)整体界面测试。14.11.4Web兼容性测试Web的兼容性包括操作系统兼容和应用软件兼容,可能还包括硬件兼容。Web的兼容性测试主要讨论:(1)系统平台测试.。(2)浏览器测试。(3)分辨率测试。14.11.5Web的安全性测试Web的安全性测试主要讨论:(1)目录设置测试(2)SSL测试(3)登录测试14.11.6日志文件测试在后台,要注意验证服务器日志工作正常。日志文件主要测试:(1)日志是否记所有的事务处理?(2)是否记录失败的注册?(3)是否记录被盗信用卡的使用?(4)是否在每次事务完成的时候都进行保存?(5)记录IP地址吗?(6)记录用户名吗?14.11.7Web的接口测试Web的接口测试主要讨论:(1)服务器接口测试(2)外部接口测试14.12接口测试在对软件进行测试时,为了验证软件对外的接口服务可以正常提供服务及软件在不同场景中执行路径的安全可操作性,需要对接口进行测试。14.12.1接口测试的概述接口测试(Interfacetesting)的目的是为了测试系统相关联的外部接口;•1.模块接口的测试•2.系统接口的测试14.12.2接口测试的内容接口测试主要包括2项内容:1.接口逻辑测试2.模块接口测试的内容14.12.3接口测试的测试项目接口测试的测试项目主要包括以下几点:1.数据类型问题;2.变量值问题;3.逻辑判断问题;4.文件I/O问题。14.13安装和反安装测试安装与反安装测试

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功