《系统测试PPT.ppt》由会员分享,可在线阅读,更多相关《系统测试PPT.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件测试软件测试http:/1第第7章章 系统测试(系统测试(2)http:/2Logo目目 录录本地化测试本地化测试1配置测试配置测试2回归测试回归测试3冒烟测试冒烟测试4随机测试随机测试5系统测试总结系统测试总结63Logo课堂回顾课堂回顾广义的功能测试包括哪几种测试?广义的性能测试包括哪几种测试?系统测试的四个层次软件性能的指标4Logo1 关于系统测试的几句话关于系统测试的几句话Seeingisnotbelieving!Testingisbelieving!系统测试:智力主导,工具为辅。程序测试只能证明错误的存在,而不能证明错误不存在。5Logo2 对一次性纸杯的测试对一次性纸杯的测试
2、1、基本功能测试功能测试硬度:是否达到设计标准装载能力:在杯子内分别装入少量的、半杯的、潢杯的,看其装载量是否达到设计标准装载种类:开水(是否产生异味)、温水、冷水、咖啡用水杯装水看漏不漏;水能不能被喝到输入条件:冷水,热水,冰水。输出条件:是否退色是否变形是否有毒一杯开水(假定100摄氏度)保温的时间(多久后变到室温),自然还有冰块在室温下多长时间融化6Logo2、界面测试(UI测试)1看其形状、大小设计是否符合需求规格说明书的定义,适合人方便拿起喝水;2外观是否吸引人,赏心悦目;3广告图案沾水后是否掉色、模糊;4广告图案是否使用环保材料、不影响使用者健康和回收再利用;5广告图案是否和当地政
3、治、宗教符合,没有冲突;6广告图案是否做到了本地化和国际化。7Logo3、易用性测试看其形状、大小设计是否适合人方便拿起残疾人士用此杯去喝水的容易程度杯子设计是否上大下小,在运输过程中可以套在一起有效利用空间,在使用时也容易拿开4、稳定性测试(24*7)装入液体后记录其多久以后会漏水5、安全性测试杯子所用的材料(包括纸基、涂层和广告颜料)是否符合食品卫生标准,在内外温度待环境因素下是否会与所盛各种饮料反应,而产生对人体有害的物质8Logo6、本地化测试为国际化和本地化的需要,广告图案和文字是否在政治、宗教和文化方面具有广泛的适用性安全性:杯子有没有毒或细菌可靠性:杯子从不同高度落下的损坏程度可
4、移植性:杯子再不同的地方、温度等环境下是否都可以正常使用7、对设计的改进建议“如果是一次性杯子,能否标示已使用(比如:变色)”和“杯子是否有使用者标贴(多人使用时防止混淆)”。压力测试:用根针并在针上面不断加重量,看压强多大时会穿透9Logo小组协作练习小组协作练习电梯测试电梯测试安装在写字楼里,共六层,一层为出口满载13人,1000kg要求:用学过的系统测试的知识,对这个电梯进行测试,尽可能全面的测试其功能及性能。并给出一些合理建议。以小组为单位,全员讨论,一人执笔,另有一人到台上展示讨论时间:15分钟展示时间:5分钟10Logo3 本地化测试基础本地化测试基础3.1软件国际化与软件本地化软
5、件国际化与软件本地化3.2软件国际化测试与软件本地软件国际化测试与软件本地 化测试化测试3.3本地化测试策略本地化测试策略3.4缺陷组成缺陷组成11Logo3.1 软件国际化与软件本地化软件国际化与软件本地化v软件国际化(SWInternationalization,I18N)v软件本地化(SWLocalization,L10N)G11N=I18N+L10N软件国际化软件本地化软件全球化软件全球化12Logo软件本地化软件本地化软件本地化是将一个软件产品按特定国家/地区或语言市场的需要进行加工,使之满足特定市场上的用户对语言和文化的特殊要求的软件生产活动。软件本地化并不只是单纯地翻译用户界面、
6、用户手册和联机帮助。软件本地化为的是克服产品本身的文化障碍,从而吸引更多的用户.13Logo软件国际化软件国际化软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理使得功能和代码设计能处理多种语言和文化传统多种语言和文化传统,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。是软件本地化的前提。软件国际化的理想状态是使软件本地化过程不需要修改任何代码。14Logo关于软件国际化的几个例子关于软件国际化的几个例子1.姓名姓名15Logo2.日期日期美国人的日期习惯“月日年”,英国人的习惯:“日月年”,中国人的习惯:“年月日”3.时区时区我国:东八区。美国:西八区。即我国的
7、时间总比美国时间早16小时。当我国软件用户显示时间为:2010/11/309:00am美国用户显示时间为:11/29/20105:00pm16Logo从以上例子可知,国际化软件编程不能像一次性软件那样随意,许多东西不能“写死”(hardcode)应该用函数处理时区,语言,国家等数据。软件处理和输出应该分离,为以后软件本地化做铺垫17Logop支持Unicode字符集、双字节的字符(既可以处理类似于英文的单字节语言,又可以处理类似于中文,日文的双字节语言)p分离程序代码和显示内容。如建立资源文件来处理这些内容。p消除Hardcode(硬代码,指程序中包含的一些特定数据),尽量使用变量处理,将数据
8、存储在数据库或初始化文件中。I18N应满足下列需求应满足下列需求18Logo使用Headerfiles去定义经常被调用的代码段;改善翻译文本尺寸,具有调整的灵活性支持各个国家的键盘设置,但要统一热键。支持文字排序和大小写转换;支持各个国家的度量衡,时区,货币单位格式等的设置;拥有国际化用户界面设计。I18N应满足下列需求(续)应满足下列需求(续)19Logo20LogoL10N应满足下列需求p翻译(软件本地化的基本工作)p适应地区文化、宗教要求。(如不同地区人们对数字,颜色的不同喜好)p度量衡和时区等p软件用户界面(UI)(翻译后需调整,以适应本地化要求)p联机文档(帮助文档和功能性的PDF文
9、档)p热键设置21Logo本地化、全球化与翻译的关系本地化、全球化与翻译的关系翻译 国际化国际化 本地化本地化全球化全球化22Logo本地化版本的日期显示问题本地化版本的日期显示问题23Logo3.2软件本地化测试概念及目的 软软件件本本地地化化测测试试是对本地化的软件进行测试的活动。软件本地化测试目的主要是:保证本地化的软件与源语言软件具有相同的功能和性能。保证本地化的软件在语言、文化、传统观念等方面符合当地用户的习惯。软件本地化测试是尽可能多的发现本地化软件中由于本地化而引起的软件软件 bug。24Logo3.2软件本地化测试软件本地化测试既有一般测试的特点,又有自己的测试要求,它们二者的
10、主要区别是:本本地地化化软软件件测测试试的重点是报告与本地化有关的bug,包括翻译语言的质量、与区域有关的特征、软件界面控件布局等。一般测试一般测试主要测试软件的功能和性能。本地化软件测试通常需要与源软件对对比比测测试试,确认错误是否属于本地化错误,还是源语言功能错误。25Logo核心功能测试国际化测试国际化测试本地化测试本地化测试国际化软件设计全球化软件发布全球化软件发布翻译测试全球化软件发布流程全球化软件发布流程26Logo3.3本地化测试策略本地化测试策略用户界面测试语言质量测试功能测试安装、卸载测试27Logo主要对软件的界面文字和控件布局(大小和位置)进行测试。通常为最简单的测试类型
11、,不需要过多的语言翻译知识和测试工具有些界面比较深入,某些BUG可能隐藏的很深3.3.1本地化用户界面测试内容28Logo3.3.1本地化用户界面测试checklist控件的文字被截断(Truncation)对话框中的文本框、按钮、列表框、状态栏中的本地化文字只显示一部分控件或文字没有对齐(Misaligned)对话框中的同类控件或本地化文字没有对齐控件位置重叠(Overlapped)对话框中的控件彼此重叠多余的文字(Extrastrings)软件程序的窗口或对话框中的出现多余的文字丢失的文字(Missedstrings)软件程序的窗口或对话框中的文字部分或全部丢失不一致的控件布局(Incon
12、sistentlayout)本地化软件的控件布局与源语言软件不一致文字的字体、字号错误(Incorrectfontnameandfontsize)控件的文字显示不美观,不符合本地化语言的正确字体和字号多余的空格(Extraspace)本地化文字字符之间存在多余的空格29Logo测试翻译是否准确专业,布局是否合理美观。还要注意联机帮助文件和软件用户界面的一致性。需要参照源软件,进行对比测试。3.3.2本地化语言质量测试30Logo3.3.2本地化语言质量测试checklist字符没有本地化(Unlocalizedstrings)字符不完整地本地化(Incompletelocalizedstrin
13、gs)对话框或软件程序窗口中的应该本地化的文字没有本地化对话框或软件程序窗口中的应该本地化的文字只有一部分本地化错误的本地化字符(Errorlocalization)源语言文字被错误地本地化,或者对政治敏感的文字错误地进行了本地化不一致的本地化字符(Inconsistentlocalizedstring)相同的文字前后翻译不一致相同的文字各语言之间不一致相同的文字软件用户界面与联机帮助文件不一致过度本地化(Overlocalization)不应该本地化的字符进行了本地化标点符号、版权、商标符号错误(Incorrectpunctuation,Copyright)标点符号、版权和商标的本地化不符合
14、本地化语言的使用习惯31Logo主要测试软件经过本地化后,软件的功能是否与源软件一致,是否存在因本地化而产生的功能错误。相对于其他测试类型具有较大难度,可能需要多步组合操作才能完成。3.3.3本地化功能测试内容32Logo3.3.3本地化功能测试checklist功能不起作用(Notworking)菜单、对话框的按钮、超链接不起作用功能错误(Errorfunction)菜单、对话框的按钮、超链接引起程序崩溃菜单、对话框的按钮、超链接带来与源语言软件不一致的错误结果超链接没有链接到本地化的网站或页面软件的功能不符合本地化用户的使用要求热键和快捷键错误(Errorhotkeysandshort-c
15、utkeys)菜单或对话框中存在重复的热键本地化软件中缺少热键或快捷键不一致的热键或快捷键快捷键或快捷键无效33Logo3.3.4安装、卸载测试内容安装、卸载测试内容测试本地化软件是否可以正确的安装卸载在本地语言的操作系统上(包括是否支持本地语言的安装目录名)。安装卸载前后安装文件、快捷方式、程序图标、和注册表等的变化是否与源语言程序一致。34Logo3.4本地化测试的缺陷组成本地化测试的缺陷组成本地化软件的错误的产生是多方面的,不能仅仅归结为软件本地化过程带来的错误。实际上,良好的国际化设计的源程序是减少软件本地化错误的根本保证。35Logo缺陷产生原因 核心缺陷核心缺陷是由于源程序软件编码
16、错误引起的,例如开发人员对于某个功能模块的编码错误,或者没有考虑软件的国际化和本地化能力,而将代码设定为只接受的某些语言本地化缺陷本地化缺陷是由于软件本地化过程引起的,例如语言翻译质量较差、界面控件布局不当等。36Logo缺陷修正方法本地化缺陷本地化缺陷 只出现在本地化的版本上可以由本地化工程师修改本地化软件相关资源文件解决,例如修改错误的翻译文字、调整控件的大小和位置等。源语言功能缺陷源语言功能缺陷 既出现在本地化软件,也可以在源语言软件上复现源语言国际化缺陷源语言国际化缺陷 只出现在本地化版本中,只能通过修改程序代码实现属于源语言软件的设计错误,这类缺陷只能由软件开发人员修正。37Logo
17、做测试最重要的是什么?做测试最重要的是什么?概念概念经验经验眼光眼光境界境界心态心态沟通沟通突破突破38Logo配置测试(配置测试(configuration testing)一个引例:一个引例:一种一种3D3D游戏,画面丰富,多种音效,允许游戏,画面丰富,多种音效,允许多个用户联机对战,还可以打印游戏细节。多个用户联机对战,还可以打印游戏细节。市场调查:市场调查:336336种显卡,种显卡,210210种声卡,种声卡,15001500种网卡,种网卡,12001200种打印机。种打印机。39Logo本部分,我们会着力阐明以下本部分,我们会着力阐明以下7个内容:个内容:配置测试的定义PC机配置的
18、种类配置缺陷分类如何分离配置缺陷配置测试时的工作量计算配置测试步骤如何获得硬件3.5配置测试(配置测试(configuration testing)40Logo3.5.1配置测试的定义配置测试的定义验证系统在不同的系统配置下能否正确工作,这验证系统在不同的系统配置下能否正确工作,这些配置包括:软件,硬件,网络等。些配置包括:软件,硬件,网络等。配置测试是为了保证测试的软件使用配置测试是为了保证测试的软件使用尽量多样化尽量多样化的的硬件硬件组合,采用不同的组件、外设、接口等查组合,采用不同的组件、外设、接口等查看测试的软件在不同配置下的看测试的软件在不同配置下的可用性可用性。注意:不同的软件有不
19、同的针对点,因此测试的注意:不同的软件有不同的针对点,因此测试的内容是不一样的。比如,一个游戏软件,一个图内容是不一样的。比如,一个游戏软件,一个图像处理软件,一个视频播放软件等等像处理软件,一个视频播放软件等等41Logo进行配置测试是新手软件测试员经常被分新手软件测试员经常被分配的任务配的任务,因为它容易定义,是基本组织技巧和等价分配技术的敲门砖。是与其他项目小组成员合作合作(co-operation)的任务,是管理员快速验证结果的手段。3.5.1配置测试的定义配置测试的定义42Logo3.5.2 配置的种类配置的种类PC机的各种可能配置机的各种可能配置n品牌机nDell,HP,联想等等。
20、每一家都自行设计部件或采购其他厂商的部件生产自己的PC机n内部配件n主板、板卡、其他内部设备n外设 n可以插在主板上,从外部操纵的设备,如打印机、扫描仪、鼠标、键盘、显示器、游戏杆;43Logon接口 n通过各种接口适配器连入PC的,接口可以是PC内部也可以是外部的,如ISA,PCI,USB、串口、RJ-45,PS/2等等n可选项和内存 n设备驱动程序 n从技术上讲驱动程序是软件,但出于测试目的,认为它们是硬件配置3.5.2 配置的种类配置的种类44Logo3.5.3 配置缺陷分类配置缺陷分类(1)软件可能包含在)软件可能包含在多种配置多种配置中都出现的缺中都出现的缺陷;陷;(2)软件可能)软
21、件可能只只包含在包含在某一特殊配置某一特殊配置中出现中出现的缺陷;的缺陷;(3)硬件设备或者其设备驱动程序可能包含)硬件设备或者其设备驱动程序可能包含仅由软件仅由软件揭示的缺陷。揭示的缺陷。(4)硬件设备或者其设备驱动程序可能包含)硬件设备或者其设备驱动程序可能包含一个一个借助许多其它软件借助许多其它软件才能揭示的缺陷。才能揭示的缺陷。45Logo 案例:案例:1 1、贺卡程序使用激光打印机时工作正常,而使用、贺卡程序使用激光打印机时工作正常,而使用喷喷墨打印机墨打印机时工作异常时工作异常 2 2、软件、软件仅仅在在OkeeDokee Model BR549 OkeeDokee Model B
22、R549 喷墨打印机上喷墨打印机上无法正常工作无法正常工作 3 3、被测试的软件使用某种视频卡时,视频卡无法正、被测试的软件使用某种视频卡时,视频卡无法正常工作常工作4 4、某种打印机驱动程序总是默认地采用草稿模式,、某种打印机驱动程序总是默认地采用草稿模式,每次使用均需要手动设置。每次使用均需要手动设置。46Logo3.5.4 如何分离配置缺陷如何分离配置缺陷判断缺陷是配置问题的技巧:在另外一台有完全不同配置的计算机上一步步执行导致问题的相同操作。如果缺陷没有产生,就极有可能是特定的配置问题,在独特的硬件配置下才会暴露出来。如果在不同的配置中都出现,就可能是通用的问题一定注意:配置问题可能跨
23、越整个等价划分,而不仅仅是特定型号47Logo3.5.5 配置测试时的工作量计算配置测试时的工作量计算我们用一个例子来说明ExampleExample:一种:一种3D3D游戏,画面丰富,多种音效,允许游戏,画面丰富,多种音效,允许多个用户联机对战,还可以打印游戏细节。多个用户联机对战,还可以打印游戏细节。市场调查:市场调查:336336种显卡,种显卡,210210种声卡,种声卡,15001500种网卡,种网卡,12001200种打印机。种打印机。测试组合测试组合=336=3362102101500150012001200总计上亿种,规模庞大,如何减少工作量?总计上亿种,规模庞大,如何减少工作量
24、?等价类划分,合并同类配置,但同时带来风险等价类划分,合并同类配置,但同时带来风险48Logo3.5.6 配置测试步骤配置测试步骤一、确定所需的硬件类型 n应用程序需要打印吗?考虑测试打印机n应用程序需要发声吗?考虑测试声卡n应用程序需要处理图形图像吗?考虑测试显卡n把软件安装盘放在面前,考虑需要哪些硬件使其工作n容易忽略的一个特性例子是联机注册使用的硬件类型modem和网络通信考虑在内49Logo3.5.6 配置测试步骤配置测试步骤二、确定有哪些厂商的硬件、型号和驱动程序可用与销售和市场人员一起制订要测试的清单找近期的专业杂志看有哪些硬件可用,哪些正在或曾经流行研究是否有贴牌生产(OEM)的
25、现象(需要认真考虑!典型例子:“同德五虎-七彩虹,双敏,昂达,盈通,铭瑄”)确定要测试的设备驱动程序操作系统自带的驱动程序硬件附带的驱动程序网站上的最新更新50Logo3.5.6 配置测试步骤配置测试步骤三、确定可能的硬件特性、模式和选项 n彩色打印机可以打彩色也可以打黑白;可以在不同模式下打印n显卡有不同的色彩设置和分辨率n每种设备都有选项,软件没有必要完全支持四、将确定后的硬件配置缩减为可控制范围n把所有配置信息放在电子表格里,列出生产厂商,型号,驱动程序版本及其他可选项,软件测试人员和开发小组共同确定测试哪些配置51Logo3.5.6 配置测试步骤配置测试步骤五、明确与硬件配置有关的软件
26、的唯一特性n不应该也没有必要在每种配置中完全测试软件,只需要测试那些与硬件交互时互不相同(不同等级划分)的特性即可!n例:写字板之类的文字处理程序做配置测试:1.保存和打开特性 2.打印 n选择唯一特性并非易事,甚至不是表面看到的那么简单。必须先进行黑盒测试(通过查看产品找出明显特性),然后与开发小组交流了解该特性与哪些配置有相关性52Logo3.5.6 配置测试步骤配置测试步骤六、设计在每一种配置中执行的测试用例n以对文字处理软件的配置测试为例n1从清单中选择并建立下一个测试配置。n2启动软件。n3打开文件configtest.doc。n4确认显示出来的文件正确无误。n5打印文档。n6确认没
27、有错误提示信息,而且打印的文档符合标准。n7将任何不符之处作为软件缺陷记录下来。53Logo3.5.6 配置测试步骤配置测试步骤七、在每种配置中执行测试软件测试员执行测试用例,仔细记录并向开发小组汇报,必要时还要向硬件厂商报告注意明确配置缺陷的准确原因很难,需要和开发人员以及白盒测试人员密切配合,分离问题的原因八、反复测试直到小组对结果满意为止n配置测试一般不会贯穿整个项目周期,可能最初只是测试一些配置,接着整个测试通过,然后在越来越小的范围内确认缺陷的修复54Logo一、只买可以或者将会经常使用的配置 二、小组中的每一个测试员都配备不同的硬件 三、与硬件生产厂商联系,寻求租借甚至赠送某些硬件
28、 四、动员公司力量,群策群力,帮助测试 n即使把配置的可能性等价划分至最低限度,仍然需要安装许多硬件,代价高昂。以下是解决方法:3.5.7 如何获得硬件如何获得硬件55Logo回归测试(回归测试(regression testing)回归测试背景56Logo回归测试的背景回归测试的背景解决方案:回归测试回归测试一种验证已变更系统完整性与正确性的测试技术。57Logo回归测试的定义回归测试的定义对之前已经测试过或者经过修改的程序进行重新测试,以保证修改没有引入新的错误或者由于修改发现以前未发现的错误。比如迅雷比如迅雷5.9迅雷迅雷7.1需要将5.9版本所执行的测试再重复一遍,而不仅仅是只测试出错
29、的地方如果引入新增加的功能怎么办?补充新的测试用例,但这部分已经不属于回归测试的范围了。58Logo回归测试回归测试在软件生命周期中扮演着重要的角色,因忽视回归测试而造成严重后果的例子不计其数:导致阿里亚娜5型火箭发射失败的软件缺陷就是由于复用的代码没有经过充分的回归测试造成的。59Logo测试用例的维护测试用例的维护测试用例的维护是一个不间断的过程,通常可以将软件开发的基线作为基准,维护的主要内容包括下述几个方面。(1)、删除过时的测试用例需求的改变等原因可能会使一个基线测试用例不再适合被测试系统,这些测试用例就会过时。举例:数值的界限发生改变60Logo测试用例的维护测试用例的维护(2)、
30、改进不受控制的测试用例随着软件项目的进展,测试用例库中的用例会不断增加,其中会出现一些对输入或运行状态十分敏感的测试用例。这些测试不容易重复且结果难以控制,会影响回归测试的效率,需要进行改进,使其达到可重复和可控制的要求。(3)、删除冗余的测试用例存在两个或者更多个测试用例针对一组相同的输入和输出进行测试61Logo测试用例的维护测试用例的维护(4)、增添新的测试用例如果某个程序段、构件或关键的接口在现有的测试中没有被测试,那么应该开发新测试用例重新对其进行测试。并将新开发的测试用例合并到基线测试包中。62Logo回归测试伴随着软件开发的每一个阶段,而且常常需要重复进行,因此会给测试员带来疲惫
31、感,所以,引入自动化测试,是很不错的方法。63Logo冒烟测试(冒烟测试(smoke testing)是指在对一个新版本进行系统大规模是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。功能是否实现,是否具备可测性。由来:电路板的测试由来:电路板的测试64Logo冒烟测试冒烟测试目的:确保一个程序中最重要的功能被执行,而不需要被基本的细节困扰。方法:确定“功能点”,用功能点进行测试测试时间:在编写代码之前,就编写冒烟测试用例。这叫做“测试驱动开发”(test-drivendeveloping)65Logo随机测试是根据测
32、试者的经验随机随机的选取功能点功能点对软件进行有针对性的测试。这种测试没有用例的指导,完全根据测试员自己的经验和相关知识来测试.又叫“猴子测试”随机测试(随机测试(random testing)66Logov应尽早尽早地开始系统测试工作。v充分注意测试中的缺陷密集现象,即对缺陷比较密集的部分进行重点测试重点测试;v严格执行测试计划,排除测试的随意性。v对测试过程和测试结果应进行评价评价,确保测试过程的有效性。小结:小结:1.系统测试的若干原则系统测试的若干原则67Logov妥善保存保存测试计划、测试用例、故障统计和最终分析报告,为维护提供方便。v对于被测试系统要进行正常和异常两方面正常和异常两
33、方面的测试的测试。v在系统测试计划中,要按照资源和项目的要求清晰地定义一个完整的退出准则完整的退出准则,这是一种权衡投入产出比的原则,测试既不要不充分,也不要过分。小结:小结:1.系统测试的若干原则系统测试的若干原则68Logo2.系统测试执行和评估阶段常用度量系统测试执行和评估阶段常用度量v测试用例通过率测试用例通过率(百分比)本次测试中通过的用例数/实际执行的用例数;v测试用例覆盖率测试用例覆盖率(百分比)本次测试中实际执行的用例数/计划执行的用例数;v本次测试中测试通过的系统测试用例数测试通过的系统测试用例数目目(条);v本次测试中测试不通过的系统测试用例测试不通过的系统测试用例数目数目(条);69Logo2.系统测试执行和评估阶段系统测试执行和评估阶段常用度量v发现的缺陷数目及缺陷等级发现的缺陷数目及缺陷等级(个数、级别);v已经解决的缺陷数目及缺陷等级解决的缺陷数目及缺陷等级(个数、级别);v遗留的缺陷数目及缺陷等级遗留的缺陷数目及缺陷等级(个数、级别);v缺陷密度缺陷密度(分布图);v测试的工时测试的工时(人时);v系统测试的需求覆盖率;系统测试的需求覆盖率;7071
限制150内