1、1毕 业 设 计 ( 论 文 )题目:面向对象手机软件测试 2目录摘要 .3第一章 手机软件测试基础知识 .31.1 手机测试概念 .31.2 手机软件测试内容 .31.3 手机测试目的 .3第二章 手机软件测试方法分类 .41.1 从是否关心软件内部结构和具体实现的角度划分 .41.2 从是否执行程序的角度 .41.3 从软件开发的过程按阶段划分有 .4第三章 手机软件测试用例编写 .71.1 目的 .71.2 范围 .71.3 原则 .71.4 信息模块测试用例为例 .7第四章 手机软件测试工具 .81.1 AutoRunner (自动化测试工具) .81.2 TestCenter(测试管
2、理工具) .81.3 LoadRunner(负载测试工具) .8第五章 手机软件测试职业前景 .91.1 技术之路: .91.2 管理之路: .9第六章 手机软件测试网站推荐 .91.1 中国软件测试:http:/ .91.2 北大青鸟软件测试网站:http:/www.sz- .101.3 51testing 软件测试论坛:http:/ .10结论 .11致谢 .11参考文献 .11附录 .123面向对象手机软件测试摘要: 本文介绍手机软件测试的概念、测试方法的基本分类以及测试流程最终达到的效果,并结合测试经验编写测试用例,最后以信息模块为例设计了一个测试用例。关键词:测试方法、用例、流程第一
3、章 手机软件测试基础知识1.1 手机测试概念使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是 SQA(software quality assurance)的重要子域1.2 手机软件测试内容软件测试主要工作内容是验证(verification)和确认(validation ),下面分别给出其概念:验证(verification)是保证软件正确地实现了一
4、些特定功能的一系列活动,即保证软件做了你所期望的事情。(Do the right thing) 1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;2.程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程;3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
5、2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。41.3 手机测试目的Grenford J.Myers 曾对软件测试的目的提出过以下观点:(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。然而,这种观点指出测试是以查找错误为中心,而不是为了演示软件的正确功能.但是只从字面意思理解,可能会
6、产生误导,认为发现错误是软件测试的唯一目的,查找不出错误的测试就是没有价值的测试,实际上并非如此!(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法第二章 手机软件测试方法分类1.1 从是否关心软件内部结构和具体实现的角度划分A.白盒测试B.黑盒测试C.灰盒测试1.2 从是否执行程序的角度A.静态测试B.动态测试。1.3 从软件开发的过程按阶段划分有A.单元测
7、试B.集成测试C.确认测试D.验收测试E.系统测试1.1.1 白盒测试技术(White Box Testing)深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,在 JAVA 平台使用 Xunit 系列工具进行测试,5Xunit 测试工具是类一级的测试工具对每一个类和该类的方法进行测试。 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部
8、动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。 “白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数
9、据相关的错误。 白盒测试三步法 1) 根据代码的功能,人工设计测试用例进行基本功能测试;2) 统计白盒覆盖率,为未覆盖的白盒单位设计测试用例,实现完整的白盒覆盖,比较理想的覆盖率是实现 100%语句、条件、分支、路径覆盖;3) 自动生成大量的测试用例,捕捉“程序员未处理某些特殊输入“形成的错误。第 1 步的测试用例通常是现成的,因为详细设计文档会规定程序的基本功能,没有文档的,程序员在编程时也要想清楚程序的功能,这些基本功能就是基本测试用例;第 2 步是在第 1 步的基础上,检查未覆盖的白盒单位,由于未覆盖的逻辑单位通常对应未测试的等价类,因此第 2 步可以找出第 1 步所遗漏的测试用例;第
10、3 步用自动动态测试弥补第 2 步的固有缺陷。“三步法“尽量避免重复工作,白盒方法和黑盒方法相结合,人工方法和自动方法相补充,如果第 2 步的覆盖率比较理想,那么基本上可以保证找出所有等价类。在开发过程允许的限度内,“三步法“已接近极限,当得起“彻底测试“四个字1.1.2 黑盒测试(Black Box Testing)黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否
11、能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。 “黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。测试过程按 4 个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。 1.3.1 单元测试(Unit Testing)集中对用源代码
12、实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。 * 单元测试又称模块测试,是针对软件设计的最小单位 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。 * 单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单6元测试。1.3.2 集成测试(Integrated Testing)把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。 1.3.3 确认测试(Validation Testing)则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。 * 确认测试又
13、称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。 * 对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。 1. 进行有效性测试(黑盒测试) * 有效性测试是在模拟的环境 (可能就是开发的环境) 下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。 * 首先制定测试计划,规定要做测试的种类。还需要制定一组测试步骤,描述具体的测试用例。 * 通过实施预定的测试计划和测试步骤,确定 软件的特性是否与需求相符; 所有的文档都是正确且便于使用; 同时,对其它软件需求,例如可移植性、兼容性、出错自动恢复、可维护性等,也都
14、要进行测试 * 在全部软件测试的测试用例运行完后,所有的测试结果可以分为两类: 测试结果与预期的结果相符。这说明软件的这部分功能或性能特征与需求规格说明书相符合,从而这部分程序被接受。 测试结果与预期的结果不符。这说明软件的这部分功能或性能特征与需求规格说明不一致,因此要为它提交一份问题报告。2. 软件配置复查 n 软件配置复查的目的是保证 u 软件配置的所有成分都齐全; u 各方面的质量都符合要求; u 具有维护阶段所必需的细节; u 而且已经编排好分类的目录。 n 应当严格遵守用户手册和操作手册中规定的使用步骤,以便检查这些文档资料的完整性和正确性1.3.4 系统测试(System Tes
15、ting)把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。 * 系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。 * 系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统的定义不符合或与之矛盾的地方。1.3.5 验收测试(Acceptance Testing) 7* 在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。 * 验收测试是以用户为主的测试。软件开发人员和 QA(质量保证)人员也应参
16、加。 * 由用户参加设计测试用例,使用生产中的实际数据进行测试。 * 在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。 * 确认测试应交付的文档有: 确认测试分析报告 最终的用户手册和操作手册 第三章 手机软件测试用例编写1.1 目的统一测试用例编写的规范,以保证使用最有效的测试用例,保证测试质量。1.2 范围适用于公司对产品的业务流程、功能测试测试用例的编写。1.3 原则1.3.1 全面性A. 应尽可能覆盖程序的各种路径;B. 大量数据并发测试的准备1.3.2 正确性A输入界面后的数据应与测试文档所记录的数据一致;B预期结果应与测试
17、数据发生的业务吻合;1.3.3 可操作性A测试用例中应写清测试的操作步骤,不同的操作步骤相对应的操作结果1.4 信息模块测试用例为例 1.4.1 短消息SMS的基本功能测试1、短消息的基本功能:是指短消息的编辑,删除,保存,收发,显示,以及各种按钮等功能的正常实现。2、测试要求和执行:一般根据测试案例或软件本身的流程就可以完成短消息的基本功能测试。 1.4.2 短消息的交叉事件测试1、交叉测试:又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如通话过程中接收到短信或来响闹。应该以执行干扰的冲8突事件不会导致手机死机或花屏等严重的问题出现为 Pas
18、s 的标准。2、测试要求和执行:干扰要恰到好处,准确,否则很难发掘出深层次的软件缺陷。1.4.3 短消息的压力性能测试1、压力测试:又叫边界值容错测试或极限负载测试,即测试过程中,已经达到某一软件功能的最大容量,边界值或最大的承载极限,仍然对其进行相关操作。例如连续进行短信的接收和发送,超过收件箱和 PIM 卡所能存储的最大的条数,仍然进行短消息的接收或发送,以检测软件在超常态条件下的表现,来评估用户能否接受。2、测试要求和执行:可以考虑进行自动化测试 1.4.4 短消息的容量性能测试1、容量测试:又叫满记忆体测试,包括手机的用户可用内存和 SIM/PIM 卡的所有空间被完全使用的测试。此时再
19、对可编辑的模块进行和存储空间有关的任何操作测试,如果软件的极限容量状态下处理不好,有可能导致死机或严重的花屏等问题的出现。 2、测试要求和执行:可以考虑进行自动充满记忆体测试,要对不同品牌和不同容量大小的SIM/PIM 卡进行测试 1.4.5 短消息的兼容性能测试 兼容性测试:也就是不同品牌手机,不同网络,不同品牌和不同容量大小的 SIM/PIM 卡之间的互相兼容的测试,以短消息为例:中国电信的小灵通接收到从中国移动或中国联通GSM 发来的短消息,接收,显示和回复功能是否正常等;第四章 手机软件测试工具1.1 AutoRunner (自动化测试工具)AutoRunner 是国内第一款自动化测试
20、工具,可以用来完成功能测试、回归测试、每日构建测试与自动回归测试等工作。是具有脚本语言的、提供针对脚本完善的跟踪和调试功能的、支持 IE 测试和 Windows native 测试的自动化测试工具;1.2 TestCenter(测试管理工具)TestCenter 是一款功能强大测试管理工具,它可以帮助您:实现测试用例的过程管理,对测试需求过程、测试用例设计过程、业务组件设计实现过程等整个测试过程进行管理。实现测试用例的标准化即每个测试人员都能够理解并使用标准化后的测试用例,降低了测试用例对个人的依赖;提供测试用例复用,用例和脚本能够被复用,以保护测试人员的资产;提供可伸缩的测试执行框架,提供自
21、动测试支持;提供测试数据管理,帮助用户同意管理测试数据,降低测试数据和测试脚本之间的耦合度91.3 LoadRunner(负载测试工具)LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用 LoadRunner , 企业能最大限度地缩短测试时间, 优化性能和加速应用系统的发布周期。目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响
22、应速度过慢, 系统崩溃等问题。这些都不可避免地导致公司收益的损失。第五章 手机软件测试职业前景随着我国软件业的发展,专业的软件测试人员成为了众多知名公司追逐的对象,软件测试有着广阔的发展前景,具体可以分为:初级测试工程师:初级职位,开发测试脚本,执行测试 测试工程师 / 程序分析员:编写自动测试脚本程序高级测试工程师 / 程序分析员:确定测试过程并指导初级测试工程师测试组负责人:监管 1-3 人工作,否则规模 / 成本估算测试 / 编程负责人:监管 4-8 人,安排和领导任务完成,提出技术方法 测试 / 质量保证 / 项目经理:负责 8 名以上人员的一个或多个项目,负责全生存期业务 / 产品经
23、理:负责多个项目的人员管理,负责项目方向和业务盈亏1.1 技术之路:A.软件测试工程师 B.至少是一名软件开发工程师 C.软件测试技术主管 D.软件测试设计师1.2 管理之路:A. 测试主管 B.测试管理者 C.项目主管 D.产品发布主管10第六章 手机软件测试网站推荐1.1 中国软件测试:http:/ IT 实验室核心技术频道,致力于打造国内最大最全的软件测试技术文献平台。“中国 IT 实验室”创办于 2001 年,2004 年进入“中国商业网站 100 强” ,2006 年主办深圳互联网英雄大会 ;是 IT 行业垂直门户网站,是 IT 技术及评测的权威机构。 中国 IT 实验室关注的是 I
24、T 人的职业领域,目前主要有两大平台:媒体平台及教育平台。 媒体平台定位于 IT 行业,主要覆盖互联网领域、通信领域、信息化领域三大领域,中国 IT 实验室媒体平台为个人以及企业在技术、资讯、人力资源服务等方面提供专业媒体支持,凭借专业的技术团队为网友提供一个良好的技术环境,为网友在 IT 资讯、IT 技术、IT 产品、IT 人才等方面开放资讯传播、评测、交流;同时媒体平台还为企业提供具有精准价值的品牌、产品、人才等营销服务。 网站 2006 年第 2 季度数据: 中国 IT 实验室网站日均 PV 550 万,日均 IP 35 万,网站注册用户达到 150 万,每天保持 3000 人以上新注册
25、用户的强劲增长速度。 教育平台“ChinaITLab 网校”是中国 IT 实验室直属网络教育机构, “ChinaITLab 网校”拥有50 多人的技术研发团队,其中 60%以上拥有 CCIE、HCSE、RHCE、博士、硕士等高级资格,50%以上拥有 10 年以上从业经验;在平台上, “ChinaITLab 网校”采用国内领先的 E-Learning 技术并具有自主研发的多项技术平台,如“ChinaITlab 远教平台 V3.26” “拓普思在线学习系统 V1.0”“ChinaITLab 网校学习系统 V2.10”其中有部分已获得国家信息产业部软件认定资格。 服务理念服务理念是我们“ChinaI
26、TLab 网校”在顶尖的师资、领先的平台之外的第三大特色,我们拥有 10 多人的服务团队,覆盖学前指导、学习服务、评测、技术支持等多个方面。 经过 4 年多的发展, “ChinaITLab 网校”直接向企业和社会输入近 10 万的技术人才,目前有 30%以上人才已经在企业处于高级人才。1.2 北大青鸟软件测试网站:http:/www.sz-介绍:北大青鸟软件测试网站提供丰富软件测试技术资料,开设软件测试人才招聘专区,开展软件测试主题讲座,软件测试在线咨询,软件测试工程师专题,测试资料下载等信息服务。北大青鸟深圳中青学校成立是免费推荐就业的,有专门的就业部与全市三千多家企业都签有用人合同。学校的就业率一直保持在 97% 以上,在保证就业的同时,我们更加注重就业的质量与就学员长远的发展前景。我们对学员不是只有一次就业的,如果一次就业不成功,我们还会安排学员进行二次就业,让学员找到适合的工作,满意的工作,保证学员学有所成,有好的发展,提高就业服务质量