1、系统测试Software Testing8.1 系统测试概述系统测试概述n1.1.系统测试系统测试 (System TestingSystem Testing)系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求。n一般使用黑盒测试技术;n一般由独立的测试人员完成;Software Testingn2.2.系统测试的依据系统测试的依据开发人员提供的“需求规格说明书需求规格说明书”n3.3.系统测试的组织系统测试的组织系统测试主要是由质量部门的测试工程测试工程师师来主导工作Software Testingn4.4.系统测试的对象系统测试的对象系统测
2、试的对象不仅仅包括需要测试的产品系统软件系统软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下进行测试。Software Testing8.2 系统测试的内容系统测试的内容n功能性测试功能性测试功能测试、用户界面的测试、安装/卸载测试、可使用性测试;n非功能性测试非功能性测试性能测试、压力测试、负载测试、安全测试、疲劳测试、恢复测试、兼容性测试、可靠性测试、强度测试、容量测试、配置测试等。Software Testing8.2.1 功能测试功能测试n功能测试是在规定的一段时间内运行软件系统的所有功
3、能,以验证这个软件系统有无严重错误。目标:检验产品功能是否正确实现;内容:正常功能、异常功能、边界测试、界面测试、接口测试、安全测试、错误处理测试等;方法:覆盖产品的功能。Software Testing例例1:Software Testing离线传离线传4G4G以上的文件以上的文件发送超长信息发送超长信息Software Testing例例2:Software Testing注:此问题在腾讯首页的搜索栏中存在,注:此问题在腾讯首页的搜索栏中存在,但在但在SogouSogou主页中搜索不会出错。主页中搜索不会出错。Software Testing例例3:表单表单Software Testing
4、例例4:场景场景Software Testing8.2.2 用户界面测试用户界面测试n1.易用性易用性包括:易理解性;易学习性;易操作性;吸引性;依从性。测试内容:文字表述、界面布局、输入操作等;n2.一致性和操作系统的一致性和同类软件的一致性和行业标准的一致性Software Testing用户界面测试(续)用户界面测试(续)n3.美观与协调性n4.用户动作性测试n5.独特性n6.安全性限制输入输入格式化Software Testing例:例:Software Testing8.2.3 性能测试性能测试n系统太慢了,我泡了一杯茶回到座位,还没有看到响应Software Testing常见的性
5、能问题常见的性能问题n资源泄漏,包括内存泄漏;n资源瓶颈,内部资源(线程、放入池的对象)变得稀缺;nCPU使用率达到100%、系统被锁定等;n线程死锁、线程阻塞等;n数据库连接成为性能瓶颈;n查询速度慢或列表效率低;n.Software Testing8.2.4 兼容性测试兼容性测试n软件兼容性测试是指验证软件与其所依赖的环境的依赖程度。n兼容性测试是在特定的或不同的硬件、网络环境和操作系统平台上、不同的应用软件之间进行,验证软件系统能否正常地运行,以及能否正确存取原先版本的用户数据所进行的测试。Software Testing兼容性内容兼容性内容n操作系统、平台的兼容;n与内部业务系统的兼容
6、;n与数据库系统的兼容;n与第三方系统的兼容;n与硬件的兼容性n与自身系统的不同版本的用户数据兼容p向后兼容(可以使用以前版本的软件)p向前兼容(可以使用未来版本的软件)Software Testing兼容性测试兼容性测试n兼容性测试的方法:将软件分类,如字处理、电子表格、数据库、图像处理软件等,从每种类型中选择部分测试软件;按软件的流行程度选择较流行的软件;按软件推出的时间,选取最近年份的软件版本。Software Testing操作系统兼容性测试操作系统兼容性测试nWindows;nLinux;nUNIX;nAndroid等等Software Testing数据共享兼容性测试数据共享兼容性
7、测试n剪切、复制和粘贴剪切、复制和粘贴:在不同应用上的数据共享;n文件存取文件存取:文件的数据格式必须符合标准,能被其他应用软件读取。(如Excel文件可以转化为HTML格式供浏览器直接打开。)n文件导入和导出文件导入和导出:是应用程序与自身以前版本、其他应用程序保持兼容的方式。Software Testing其他软件的兼容性测试其他软件的兼容性测试n浏览器;n支持软件;n其他同类软件;n非同类软件;Software TestingB/SB/S系统兼容性测试系统兼容性测试 Software Testing例:例:WindowsNon-Windows2000XPVistaWin7LinuxUni
8、xSolarisIE8IE6Firefox3ChromeOperaMozillaSoftware Testing8.2.5 安全测试安全测试n软件安全性测试包括程序和数据安全性的测试。n目标:目标:检测系统对非法入侵的防范能力,发现软件系统中是否存在安全漏洞。Software Testingn安全测试方法安全测试方法1.功能验证n对涉及安全的软件功能(如用户管理模块、权限管理模块、加密系统、认证系统等)进行测试,验证其功能是否有效。2.模拟攻击n安全测试期间测试人员扮演非法入侵者角色,采用各种可能方法试图突破系统。n理论上讲,只要有足够的时间和资源,没有不可进入的系统。Software Tes
9、tingn安全测试方法(续)安全测试方法(续)3.漏洞扫描n漏洞扫描通常是借助于特定的漏洞扫描器完成。漏洞扫描器是一种能自动检测远程或本地主机安全性弱点的程序。4.侦听技术n侦听技术实际上是在数据通信或数据交互过程,对数据进行截取分析的过程。Software Testingn安全测试内容:安全测试内容:1.应用程序级别的安全性测试n用户管理和访问控制测试(如用户权限、用户 认证、禁止通过绝对路径访问等);n通信加密测试;n安全日志测试;2.系统级别的安全性测试n系统访问权限;n设置基本的安全防护(如 防火墙、入侵检测 等)Software Testingn安全测试内容内容(续)安全测试内容内容
10、(续)3.数据库安全性测试n数据库系统用户权限;n存储保护;n数据库备份和恢复;Software Testing8.2.6 其它测试类型其它测试类型n健壮性测试n安装/卸载测试n疲劳测试n可使用性测试n可靠性测试n容量测试n配置测试n验收测试Software Testingn健壮性即测试软件系统在异常情况下能否正常运行的能力。n健壮性有两层含义:一是容错能力;二是恢复能力;1.健壮性测试健壮性测试Software Testing1.健壮性测试健壮性测试n测试方法:测试方法:采取各种人工方法使软件出错、中断使用、系统崩溃、硬件损坏、网络出错、掉电,进而检验系统是否能够继续工作,检查系统的容错和恢
11、复能力。n系统恢复的方式系统恢复的方式自动恢复:需验证重新初始化、检查点、数据恢复和重新启动等机制的正确性;人工干预的恢复:需要估测平均修复时间,确定其是否在可接受的范围内;Software Testing2.安装安装/卸载测试卸载测试n对软件的全部、部分或升级安装/卸载处理过程的测试。n检查内容:检查内容:检查系统安装是否能够安装所有需要的文件/数据,并进行必要的系统设置;软件的安装说明是否对安装环境做限制和要求;安装过程是否简单、容易掌握,安装说明书与实际安装步骤是否一致。安装过程中是否可以中止并恢复现场;Software Testing安装安装/卸载测试卸载测试n检查内容(续):检查内容
12、(续):安装过程中的用户提示和功能是否正确(如选择/更改目录,安装的进程、下一步操作提示,中途退出等);用户选择的一套任选方案是否与实际安装的一致;硬件的配置是否合理,等等。卸载测试也是安装测试的一部分。卸载后,文件、目录、快捷方式是否被清除,占用的系统资源是否全部释放,是否影响其他软件的使用。用户数据是否被保留,如果删除,应提示用户。软件安装的完整性和灵活性。Software Testing安装安装/卸载测试(续)卸载测试(续)n主要测试工作:主要测试工作:至少在标准配置和最低配置环境下测试;如果有安装界面,应当尝试各种选项,如选择“全部”、“部分”、“升级”等。按照说明书的步骤安装,检查安
13、装过程中是否出现不可预见或不可修复的错误。检查安装说明书的内容是否正确。Software Testing3.疲劳测试疲劳测试n目标目标在一段时间内(经验上一般是连续72小时)保持系统功能的频繁使用,检查系统是否发生功能或者性能上的问题;n方法方法人为设置不同功能的连续重复操作;Software Testing4.可使用性测试可使用性测试n可用性是指:“特定用户对所用产品在某一特定使用范畴内有效、高效和满意地实现预期目标的程度。”n目标目标检查系统界面和功能可学习性、可记忆性、使用时的效率、使用时的可靠程度、用户的满意程度。n方法方法采用用户操作、观察(录像)、反馈并评估的方式;Software
14、 Testingn典型可用性测试包含以下维度典型可用性测试包含以下维度任务操作的成功率;任务操作效率;用户满意度;任务出错率;任务操作前的用户期待;任务操作后的用户评价;二次操作成功率;二次识别率用户操作过程中各认知纬度。Software Testing例:用户体验例:用户体验n点击某个链接的时候出现错误页面,刷新后就好了,难道是随机错误?n删除记录的时候发现选错了,想取消的时候却提示删除成功,都没有确认提示,只能下次看仔细点了。n无聊随便点点几个链接,竟然没有反应,既然不能用,那就不要做出来嘛。n看看自己上传的图片效果如何,这个怎么不显示?多试几次发现名字不包含中文就好了。n查询按钮怎么灰掉
15、了?这么多记录让我一页一页翻过去找啊。Software Testing例:用户体验例:用户体验n多输了点内容,保存时候提示太多了,点确定后发现被清空了,我一个小时的工作啊!n听说F5是刷新点一下看看。怎么好像变成了登录界面?n最奇怪的是昨天上传时候正常的图片今天就不能显示了。我记得没有只能显示一天的功能啊?n这里怎么没有任何按钮呢,看手册才知道竟然要用右键进行操作,怎么突然冒出个异类啊?n菜单一层一层又一层,足足有五层,把我头都绕晕了我记得哪里说过最好不要超过三层的。Software Testing5.可靠性测试可靠性测试n可靠性是指在一定的环境下、在给定的时间内、系统不发生故障的概率。n通常
16、使用以下几个指标来度量系统的可靠性:平均失效间隔时间是否超过规定时限;因故障而停机的时间在一年中应不超过多少时间。Software Testing6.容量测试容量测试n容量测试是检验系统的能力最高能达到什么程度,确定系统在给定时间内能够持续处理的最大负载或工作量。n目标:目标:通过测试预先分析出软件系统的某项指标的极限值(如最大并发用户数),检查系统在其极限状态下没有出现任何软件故障。Software Testingn例如:对于操作系统,让它的作业队列“满员”,即在系统的全部资源达到“满负荷”的情形下,测试系统的承受能力。Software Testing7.配置测试配置测试n目标:目标:验证系
17、统在不同的系统配置下能否正确工作,这些配置包括:软件,硬件,网络等。n测试中的硬件环境指进行测试所必需的服务器、客户端、网络连接设备,以及打印机、扫描仪等辅助硬件设备所构成的环境。n对于多层结构的软件系统来说,需要分别说明其服务器、客户端以及网络所需的环境。Software Testing配置测试配置测试(续续)n测试内容测试内容最低配置是否能够满足系统运行的需要;在推荐配置下系统的性能;考察软件对运行硬件环境有无特殊说明;为了满足不同的使用需求,软件系统能否运行在多种硬件配置环境下,并且系统功能和性能都能满足设计需求。Software Testing配置测试配置测试(续续)n测试流程测试流程
18、确定所需的硬件类型;确定可用的硬件特性、模式和选项;设计在每一种配置中执行的测试案例;在每种配置中执行测试;Software Testing8.文档测试文档测试n软件文档已成为软件的一个重要组成部分,而且种类繁多,对文档的测试也变得必不可少。n文档的种类包括联机帮助文档或用户手册;指南和向导;安装、设置指南;示例及模板;错误提示信息;用于演示的图像和声音;授权/注册登记表及用户许可协议。Software Testing8.文档测试文档测试n文档测试的主要内容:正确性:文档内容正确完备性:检查是否有遗漏和丢失的内容易理解性:文档清晰易理解(术语、缩写)一致性Software Testing9.验
19、收测试验收测试n验收测试是在软件产品完成系统测试之后,产品发布之前所进行的测试活动,是测试的最后一个阶段,也叫交付测试交付测试。n验收测试是检验产品和产品规格说明书产品规格说明书(包括软件开发的技术合同)的一致性。Software TestingnAlpha测试测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为版本)进行测试,试图发现错误并修正。测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的 用户操作方式。经过测试调整的软件产品称为版本。Software TestingnBeta测试测试是软件开发工作组织各方面的典型用户典型用户在实际使用环境实际使用环境下进行的测试,这些用户返回有关错误信息给开发者。测试时,开发者通常不在测试现场。在测试中,由用户记下遇到的所有问题,包括真实的以及主观认定的,定期向开发者报告。Software Testing8.3系统测试过程系统测试过程n系统测试过程包含了测试计划、测试设计、测试实施、测试执行、测试评估几个阶段,整个测试过程中的测试依据主要是产品系统的需求规格说明书、各种规范、标准和协议等。Software TestingThank You!