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 信息模块测试用例为例 .194.5 登录界面的实现 .204.6 学生的成绩窗口设计 .204.7 学生状况窗口设计 .214.8 学生状况资料窗口设计 .224.9 学生成绩修改窗口设计 .22主要参考文献 .24结束语 .25致谢 .25第五章 附录程序清单及注释 .26前 言随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。以前开发 Windows应用软件是专业人员的工作,需要掌握许多专业知识和经过特殊的