




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 测试部 方 明一、概述二、测试流程三、测试用例四、实例讲解手机软件测试 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 软件测试定义软件测试定义软件测试目的软件测试目的 1.所有的软件测试都应追溯到用户需求。 2.尽早和不断的进行软件测试。 3.避免测试自己的程序。 4.执行测试计划,排除随意性。 5.增量测试,由小到大。(增量
2、测试:自顶向下和自底向上的开发或测试过程) 6.周密的测试用例(输入条件(合理、不合理)、预期输出结果)。 7.充分注意群集现象(指在测试中发现缺陷越多的地方,存在的未被发现的缺陷也就越多 )。 8.问题的相互确认。 9.完全测试是不可能的,测试需要终止。 10.回归测试。 11.妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。软件测试原则软件测试原则 软件未达到产品说明书/产品定义书标明的功能。 软件出现了产品说明书指定不会出现的错误。 软件未达到产品说明书虽未指出但应达到的目标。 软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。软件缺陷软件缺
3、陷一些常识和经验之谈一些常识和经验之谈 测试能提高软件的质量,但是提高质量不能依赖测试。 测试只能证明缺陷存在,不能证明缺陷不存在。“彻底地测试” 难以成为现实,要考虑时间、费用等限制,不允许无休止地测 试。我们应当祈祷:软件的缺陷在产品被淘汰之前一直没有机 会发作。 测试的主要困难是不知道如何进行有效地测试,也不知道什么 时候可以放心地结束测试。 每个开发人员应当测试自己的程序(份内之事),但是不能作 为该程序已经通过测试的依据(所以项目需要独立测试人员)。 80-20原则:80的缺陷聚集在20的模块中,经常出错的模块 改错后还会经常出错。 测试应当循序渐进,不要企图一次性干完,注意“欲速则
4、不达”。 软件测试的种类软件测试的种类名称说明黑盒测试基于软件需求,而不是基于软件内部设计和程序实现的测试方式。白盒测试基于软件内部设计和程序实现的测试方式。单元测试主要测试软件模块的源代码。一般由开发人员而非独立测试人员来执行,因为测试者需要懂得该单元的设计与程序实现,测试者可能需要编写额外的测试驱动程序。集成测试将一些“构件”集成一起时,测试它们能否正常运行。这里“构件”可以是程序模块、客户机服务器程序等等。功能测试测试软件的功能是否符合功能性需求,通常采用黑盒测试方式。一般由独立测试人员执行。系统测试测试软件系统是否符合所有需求,包括功能性需求与非功能性需求。一般由独立测试人员执行,通常
5、采用黑盒测试方式。回归测试指错误被修正后或软件功能、环境发生变化后进行的重新测试。回归测试的困难在于不好确定哪些内容应当被重新测试。验收测试由客户或最终用户执行,测试软件系统是否符合需求规格说明书。名称说明负载测试测试软件系统的最大负载,超出此负载软件可能会失常。压力测试概念上与负载测试相似,叫法不同。性能测试测试软件在各种状况下的性能,如在正常或最大负载下的状况。易用性测试测试软件是否易用,主观性比较强。一般要根据很多用户的测试反馈信息,才能评价易用性。安装与反安装测试测试软件在“全部、部分、升级”等状况下的安装/反安装过程。恢复测试测试该系统从故障中恢复过来的能力。安全性测试测试该系统防止
6、非法侵入的能力。兼容性测试测试该系统与其它软件硬件兼容的能力。比较测试通过与同类产品比较,考察该系统的优点、缺点。Alpha 测试一种先期的用户测试,此时系统刚刚开发完成。Beta测试一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。1、制定测试计划 开启测试项目 在接了一个测试项目后,要在一定的期限内制定好测试的详细计划以及日程安排表2、测试准备 在计划制定好之后,在执行之前,必须将测试所需的人力资源,硬件资源,软件资源,文档资源以及环境和人文资源准备充分3、测试执行 测试组根据测试计划和测试日程安排进行测试,并输出测试结果测试流程测试流程4、测试评估 评估小组
7、或评估人员对测试结果进行评测,分析,并输出分析结果5、文档收集 将从测试计划开始到评估结束的所有文档进行整理收集 将对整个测试过程进行总结,并对测试结果进行总结6、测试总结报告 提交测试结果 归还所借相关资源 文档入库 关闭测试项目测试流程图测试流程图测试周期开始升级软件已改错误的验证测试用例执行发现错误并报告每日报告进度自由测试测试周期结束 定级依据:国家或行业标准、法律法规的规定和要求;国际或行业标准、法律法规的规定和要求;项目研制规范的要求;对用户安全的影响程度;对过程控制及可生产性、可维修性等的影响;市场客户的接受程度。缺陷分类定级规范缺陷分类定级规范 判定标准:判定标准: 根据产品故
8、障的严重程度,将其划分为A、B、C、待观察四个级别。其判定标准如下:A A类故障:类故障: 按照国家法律、标准或行业相关标准进行鉴定或认证不能通过的故障; 可能危及到用户生命或财产安全的故障; 严重影响用户正常使用的故障; 严重影响过程控制及可生产、可维修性等的故障; 客退和市场调查数据显示用户无法接受的故障。B B类故障:类故障: 影响过程控制及可生产的故障; 用户能够勉强接受的故障; 导致用户在保修期内要求返修的故障。C C类故障:类故障: 用户可忍受的轻微的产品故障; 用户一般不常用的功能、且国家规范无明确要求的故障; 用户一般不易发现,且国家规范无明确要求的故障; 用户一般不会进行,在
9、极端操作条件下才会出现的故障。待观察类故障待观察类故障(D(D类类) ): 故障出现机率小于5%(操作次数大于20次)或无法找到规律有效重现,或在多台手机(20台以上)有小于5比例的手机再现同一功能故障。 对于软件功能性故障,属于下列两种情况中的一种时,可取消观察,关闭故障。 1)在3个正式版本内未复现的故障; 2)同一版本上持续测试的时间超过一个月未复现。 书写清晰、完整的缺陷报告是对保证缺陷正确处理的最佳手段。 它也减少了工程师以及其它质量保证人员的后续工作。为了书写更优良的缺陷报告,需要遵守“5C”准则:Correct(准确):每个组成部分的描述准确,不会引起误解; Clear(清晰):
10、每个组成部分的描述清晰,易于理解; Concise(简洁):只包含必不可少的信息,不包括任何多余的内容; Complete(完整):包含复现该缺陷的完整步骤和其他本质信息; Consistent(一致):按照一致的格式书写全部缺陷报告。 缺陷报告的写作准则缺陷报告的写作准则为什么做测试用例为什么做测试用例 完全测试是不可能的 输入量太大 输出结果太多 软件实现路径太多 软件说明书没有客观标准。从不同角度看,软件缺陷 的标准不同什么是测试用例什么是测试用例 在开始实施测试之前设计好测试用例,可以避免盲目测试并能提高测试效率。 测试用例的使用令软件测试的实施重点突出、目的明确。 功能模块的通用化和
11、复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率不断攀升。使用测试用例的好处使用测试用例的好处 测试用例的代表性:能够代表并覆盖各种合理的和不合理、合法的 和非法的、边界的和越界的、以及极限的输入数据、操作和环境设 置等。 测试结果的可判定性:即测试执行结果的正确性是可判定的,每一 个测试用例都应有相应的期望结果; 测试结果的可再现性:即对同样的测试用例,系统的执行结果应当 是相同的。 测试用例设计生成的基本准则测试用例设计生成的基本准则 正确性测试:输入用户实际数据以验证系统是否满足需求规格 说明书的要求;测试用例中的测试
12、点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常。 容错性测试:程序能够接收正确数据输入并且产生正确(预期)的输出, 输入非法数据(非法类型、不符合要求的数据、溢出数据等),程序应能给出提示 并进行相应处理。把自己想象成一名对产品操作一点也不懂的客户,在进行任意操作。 安全性测试:对未经授权的人使用软件系统或数据的企图,系统能够控制的程度,程序的数据处理能够保持外部信息(数据库或文件)的完整。 接口间测试:测试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性工具程序。 数据库测试:依据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据调用关系进行测试。 测试用例设
13、计方法测试用例设计方法测试用例设计方法测试用例设计方法 手机开发的三个关键要素是:质量(Quality)、成本(Cost) 和上市时间(Time to Market),这三个要素相互制约和影响,一 款成功的手机开发,往往是这三个要素的完美结合。 测试只能证明软件存在缺陷(Defect),却不能证明不存在缺陷(Defect),“彻底地测试”是不现实的,要考虑上市时间和测试成本等因素的限制,不允许无休止的测试。 并非所有测试出来的问题都会被修复。 手机软件是属于嵌入式的,软件的运行跟硬件结合得非常紧密,因此在手机软件测试的过程中,硬件是不能忽略的一个因素。 测试是为了证明手机软件存在错误,而不是为
14、了证明软件没有错误,所以成功的测试在于发现了迄今为止没有发现的问题。手机软件测试理念手机软件测试理念手机软件测试主要用黑盒测试法手机软件测试主要用黑盒测试法 黑盒测试把测试对象看成一个黑盒子,测试人员完全不考虑程序内部的 逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是 否符合它的功能说明。 黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误: 是否有不正确或遗漏了的功能? 在接口上,输入能否正确地接受? 能否输出正确的结果? 是否有数据结构错误或外部信息(例如数据文件)访问错误? 性能上是否能够满足要求? 是否有初始化或终止性错误? 黑盒测试又叫做功能测试或数据驱动测
15、试。 这是手机软件测试工作中最核心和最基本的一项测试,该测试的主要内容是检查软件是否符合需求定义,并通过构造正常的操作来检查手机的动作是否正确;在这个测试里,正确性是最最重要的手机软件质量要素。 手机的功能(若无特别指明,均指软件功能)按照可见性可以分为两类:显性功能和隐性功能。 显性功能:指在菜单里可以看得到的功能 隐性功能:指在菜单里看不到的功能 举个例子,电话本的显性功能有增加、编辑、删除、拨打等,这些功能可以在电话本的菜单里面看得到,姓名列表排序则属于一个隐性功能,因为在电话本的菜单里没有这样一个子菜单,但它却是一个实实在在的功能 在实际的测试过程中,显性功能通过菜单遍历可以很容易地进
16、行无遗漏的测试,但是隐性功能却很容易为我们所忽略!一个有效的解决办法是去检查软件的功能定义列表(Feature List),从这个列表里面找出那些隐性的功能。4.1功能测试功能测试 功能测试的基本方法是构造一些合理输入(在需求范围之内),检查输出是否与期望的相同。如果两者不一致,即表明功能有误。也有例外的情况,如需求规格说明书中的某个功能写错了,而实际上软件的功能却是正确的,这时要更改的是需求规格说明书。 功能测试看起来比较简单,只要看得懂需求规格说明书,谁都会做。难点在于如何构造有效的输入。由于输入空间通常是无限的,穷举测试显然行不通。那么随便输入一些东西,碰运气行不行? 功能测试有两种比较
17、好的测试方法:等价划分法和边界值分析法。 等价划分是指把输入空间划分为几个“等价区间”,在每个“等价区间”中只需要测试一个典型值就可以了。等价划分法来源于人们的直觉与经验,可令测试事半功倍。 “缺陷遗漏在角落里,聚集在边界上”。边界值测试法是对等价划分法的补充。如果A和B是输入空间的边界值,那么除了典型值外还要用A和B作为测试用例。 健壮性是指在异常情况下,软件还能正常运行的能力。健壮性有两层含义: 一是容错能力,二是恢复能力。 容错性测试通常构造一些不合理的输入来引诱软件出错,例如: (1)输入错误的数据类型。如定义不存在的日期、时间。 (2)输入定义域之外的数值。如解锁界面输入非定义的字符
18、,查找手机内不存在的电话本等。粗暴一些方式俗称“大猩猩”测试法。例如在测试直接拔电池关机。 恢复测试重点考察一下几项: (1)系统能否重新运行; (2)有无重要的数据丢失; (3)是否毁坏了其它相关的软件硬件。 另外,手机软件的很多功能的实现是有很多隐含的条件的,在健壮性测试中,要检查当这些条件不满足的时候手机的反应。 4.2健壮性测试健壮性测试 矩阵测试是使手机处于一个特定的状态,然后构造一个异步事件,检查当这个异步事件发生时手机软件的性能。如:玩游戏过程中来电,进行接通、挂断、拒接、未接等操作短信编写过程中来电或来短信,是否能正常处理并同时保留原先编写的内容等。 根据事件的来源,异步事件可
19、以分为外部事件和内部事件 外部事件举例:SMS到达、来电呼入、非关机状态拔电池、插入耳机等 内部事件举例:闹钟响闹、日程表事件提示、低电告警、自动关机等4.3矩阵测试矩阵测试 这里主要测试手机软件的易用性、用户界面的友好性及美学性。 UI测试遵循的原则: 求美原则,检查在UI的布局里,各种要素是否能传达一种美感,布局是否合理,色彩是否合谐,”科技美学化“不是一句挂在墙上印在纸上的口号,而应该成为实实在在的行动 一致性原则,同样的一个功能的UI在不同的情景所呈现的方式应该保持一致 普遍性原则(各功能操作、界面显示及提示符合用户的操作习惯) 正确性原则 注意:在评价易用性和视觉效果时,主观性非常强
20、,应当考虑多个人的观点。例如,照相、播放功能(界面、音量、音质等)是否达到用户的理想效果4.4UI测试测试 兼容性测试:也就是不同品牌手机,不同网络,不同品牌和不同容量大小的SIM卡、存储卡之间的互相兼容的测试,以短消息为例:中国电信的小灵通接收到从中国移动或中国联通GSM发来的短消息,接收,显示和回复功能是否正常等 。 例如:分别采用移动、联通的GSM卡进行通话、SMS、EMS等的互通互发测试,同一张卡在A机型保存的信息在B机型是否可以查看/删除等,不同容量、品牌的存储卡手机能否识别。4.5兼容性测试兼容性测试 性能测试即测试软件处理事务的速度,一是为了检验性能是否符合需求,二是为了得到某些
21、性能数据供人们参考(例如用于宣传)。 性能测试从负荷及容量两个方面考虑: 考察手机在高负荷状态下的运行情况。所谓高负荷,就是多个功能模块同时在运行,使手机CPU资源高负荷地运转。 考察手机在满容量状态下的运行情况。在测试前,应设法使手机所有的用户内存全部存满,然后在进行一些相应的操作,观察手机的性能情况。4.6性能测试性能测试 压力测试也叫负荷测试,即获取系统能正常运行的极限状态。 压力测试的主要任务是:构造正确的输入,使劲折腾系统却让它刚好不瘫痪。 压力测试的一个变种是敏感测试。在某种情况下,微小的输入变动会导致系统的表现(如性能)发生急剧的变化。敏感测试目的是发现什么样的输入可能会引发不稳定现象。 例如,在编辑短信的过程中不断地接收短信,连续进行多次呼叫、多次对文件系统进行添加删除操作, MP3播放的同时进行WWW上网业务 4.6.1压力测试 极限测试是指在极限负载或容量情况下进行功能的操作和测试。负载或容量可包括文件系统内存容量、内存调用、电源电压、下载数据流等多种因素,很多系统会在极限测试中崩溃。 例如,在SIM卡和手
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保型环氧脂肪酸甲酯在医疗包装中的应用研究
- 油墨采购合同范本
- 社区老年人的营养教育与健康生活推广
- 宣传印刷资料合同范本
- 社交电商中的网络直播营销策略
- 码头劳务合同范本
- 二零二五年度企业高管离职补偿与聘用合同
- 2025年度蔬菜种植基地与农产品电商平台合作战略联盟合同模板
- 二零二五年度医药研发应收账款质押贷款合同
- 2025年度水井产权转让及水权交易合同协议
- 易制毒化学品识别与检验学习通超星期末考试答案章节答案2024年
- 红茶市场洞察报告
- 外国来华留学生经费管理办法
- 蝴蝶兰栽培技术规程
- Unit 4 Time to celebrate 教学设计-2024-2025学年外研版英语七年级上册
- 健康档案模板
- 筋膜刀的临床应用
- DB32-T 4790-2024建筑施工特种作业人员安全操作技能考核标准
- 2022年安徽阜阳太和县人民医院本科及以上学历招聘笔试历年典型考题及考点剖析附带答案详解
- 2024-2030年中国反刍动物饲料行业市场发展趋势与前景展望战略分析报告
- 护理团体标准解读-成人氧气吸入疗法护理
评论
0/150
提交评论