本科毕业论文范本

论文分类号:TP306 密 级:无

软件的测试流程及案例分析

学 院、专业: 计算机学院 信息管理与信息系统专业

学 生 姓 名: 范迎迎 (1012304)

年 级 班: 2010级 3 班

指 导 教 师: 董延华 (教授 )

2014 年 4 月 11 日

摘 要

现如今软件行业日趋成熟,软件在我们的生活中逐渐普及,随之而来的是人们对软件质量的期望逐渐升高,软件的质量、可靠性、稳定性等越来越受到人们的关注。软件测试就成为衡量所开发软件质量、性能是否达到标准、符合需求的重要方式。 本设计以卡号6个月在网酬金结算为例,结合数据库Oracle 及PL/SQL,熟悉软件测试中测试用例的编写、BUG 的跟踪测试、测试报告的形成以及回归测试等过程。主要方式是在对需求进行了解后搭建需要的测试环境,准备需要的测试数据,编写测试案例,并在准备的过程中逐步完善测试案例,以求测试内容的具体全面。

在研究过程中,通过对测试环境的搭建和测试脚本的编写,不仅加深了对数据库语言的学习,也更深入的了解了软件的测试流程和相关知识。对编写测试案例、软件的缺陷测试和测试报告的生成等方面都有了一定的学习。通过此次的研究也接触到了许多新的测试理论,测试方法和测试技术,使我对软件测试这一技术有了更深的认识。

关键字:软件测试;PL/SQL;测试用例;BUG

Abstract

Nowadays, software industry matures, the software gradually popular in our life, there is what is expected of software quality increased gradually, people pay more and more attention to the software quality, reliability, stability. The software testing as a measure of the software quality, performance is up to the standard, with an important way of demand.

The number 6 months in the net remuneration settlement as an example, combined with Oracle database and PL/SQL, be familiar with software test case design, BUG tracking test, test report form as well as regression testing process. The main approach is to test environment in the understanding of requirements need to build, test data, writing test cases, and gradually improve the test case in the preparation process, in order to test the specific content of the comprehensive.

In the research process, through the preparation of the test environment and test script, not only deepened the database language learning, but also more in-depth understanding of the software testing process and related knowledge. Generation of testing and test report test case, the software has a certain amount of learning. Through this research also came into contact with many new test theory, test methods and test technology, the software testing of this technology have a deeper understanding.

Key words:Software testing;PL/SQL;Test case;BUG

目 录

摘 要 ................................................................................................................................................ I Abstract.............................................................................................................................................. I I 目 录 ............................................................................................................................................. III

绪 论 ............................................................................................................................................... 1

第1章 软件测试的理论基础 ......................................................................................................... 2

1.1软件测试的意义 ................................................................................................................. 2

1.2软件测试的目的 ................................................................................................................. 2

第2章 软件测试的分类 ................................................................................................................. 3

2.1软件测试的分类 ................................................................................................................. 3

2.2软件测试类别的认识 ......................................................................................................... 3

2.2.1静态测试 .......................................................................................................................... 3

2.2.2动态测试 .......................................................................................................................... 3

2.2.3白盒测试 .......................................................................................................................... 3

2.2.4黑盒测试 .......................................................................................................................... 3

第3章 软件的测试相关 ................................................................................................................. 5

3.1软件的测试流程 ................................................................................................................. 5

3.2相关软件介绍 ..................................................................................................................... 7

3.2.1Oracle ................................................................................................................................ 7

3.2.2PL/SQL . ............................................................................................................................. 7

第4章 软件测试案例分析 ............................................................................................................. 9

4.1代理商卡号六个月在网酬金结算 ..................................................................................... 9

4.1.1代理商卡号六个月在网酬金结算需求分析说明书....................................................... 9

4.1.2. 移动代理商卡号六个月在网酬金结算测试用例 ........................................................ 9

4.1.3测试环境的搭建 ............................................................................................................ 17

4.1.4移动代理商卡号六个月在网酬金结算测试报告......................................................... 19

4.1.5缺陷报告 ........................................................................................................................ 19

4.1.6测试总结 ........................................................................................................................ 20

总 结 ............................................................................................................................................. 21

参考文献 ......................................................................................................................................... 22

绪 论

科技的发展日新月异,计算机和手机等高科技产品的广泛应用,带动了国内外软件行业的发展。随着软件产品渐渐深入到人们的生活中,无论是针对工作办公还是日常使用,人们都越来越依赖计算机和软件,因此对软件的质量和稳定的要求也就不断的升高,这也就促进了软件的不断创新、发展,致使软件系统规模越来越大也越来越复杂。软件的质量和稳定性往往关乎到软件的成本和使用,如果稳定性不好,可能会在造成不可估量的经济损失,还会造成一些敏感信息泄露所带来的安全性问题,后果不堪设想。为了更好的防止软件产品的缺陷,在开发软件时就要进行全面的软件测试来保证软件的质量,最大限度的减少软件可能存在的故障。这就充分的体现了软件测试的重要性,也促进了软件测试理论技术实践的的快速形成和发展。软件测试方法的不断涌现;测试理论的日渐成熟;测试技术的不断更新不仅确认了软件是否满足用户的需求,还保证了软件投入使用中的质量和稳定性,奠定了软件测试在行业中的重要性。

软件测试的不断发展让更多的人开始了解关注它,它和需求分析、软件开发同等重要,所以,我卡号酬金结算这个案例,来展示一般软件的测试流程,以及软件测试的相关知识,为大家更好的了解认识软件测试这一方面进行系统的展示。

为了更好的展示软件测试中需求分析的解读、测试案例和测试报告的的编写等,我主要运用数据库ORACLE 和PL/SQL来建立测试环境、编写测试脚本。为了大家更好的理解测试数据的设计理念,我将运用到E-R 图(实体-联系图),使测试更直观,更简洁的展示出来

第1章 软件测试的理论基础

1.1软件测试的意义

软件测试,在软件的生存周期中占据着重要地位,是从产品发布到到产品提交前的确定性能稳定的重要阶段。所谓软件测试,就一个用来确认所开发的软件完成了其应该完成的功能的过程,过程中是不是执行其了没有规范的操作,软件性能应该是稳定的,不会给使用者带来意外“惊喜”。这个过程可以使用人工的也可以使用自动执行的测试方法,最终目的就是检测软件是否能完成人们既定的规则,是否能够按需求中的标准准确无误的执行。软件测试的不只是为了发现软件中的不足,还需要通过分析错误的产生原因来及时发现发生错误的趋势,通过逻辑结构和开发手段等多方面来衡量软件的稳定性、使用性等,发现软件开发过程中存在的缺陷,让测试人员设计出更有针对性的测试方法,及时改正开发过程中的不足。

1.2软件测试的目的

软件测试就是让测试人员站在使用者的角度上,对软件做全面的检查和分析,目的就是暴露出软件开发过程中的问题和可能存在的隐患。引用Grenford J. Myers在《The Art of Software Testing》一书中的观点:

(1)软件测试是为了发现错误而执行程序的过程;

(2)测试是为了证明程序有错,而不是证明程序无错误;

(3)一个好的测试用例是在于它能发现至今未发现的错误;

(4)一个成功的测试是发现了至今未发现的错误的测试。

也就是说软件测试不是单纯的为了证明软件的正确性,也不是指软件测试找不出错误就是没有价值的,这两种观点都很容易使测试偏离正确的方向,失去本身的意义。只有真正的理解了软件测试的涵义,才能合理的设计软件的测试用例。

第2章 软件测试的分类

2.1软件测试的分类

从是否需要执行被测软件的角度, 可分为:

·静态测试

·动态测试

从测试是否针对系统的内部结构和具体实现算法的角度来看, 可分为 :

·白盒测试

·黑盒测试

2.2软件测试类别的认识

2.2.1静态测试 静态方法通过对需求规格说明书、软件设计说明书等做结构、流程图等方面的分析,找出欠缺和可疑之处。静态测试主要是对软件的逻辑设计和代码的结构等进行测试,其结果可为测试用例的选取提供指导。

2.2.2动态测试 主要是对软件的功能和整体进行测试,通过运行软件来发现软件执行过程和执行结果的错误。检查软件运行过程和运行结果有无与预期结果不符的部分,同时对软件的运行效率和软件的稳定性进行有效的分析。其测试步骤主要包括:单元测试、集成测试、系统测试、验收测试和回归测试。

2.2.3白盒测试

白盒测试也称结构测试或逻辑驱动测试,通过测试来验证软件逻辑结构是不是按照需求分析正确设计的,按照程序内部的结构测试程序,检测每个执行过程是不是能够按照既定的要求完成既定动作的过程。白盒测试的主要方法有逻辑测试、基路测试等,主要用于软件内部结构的验证。

2.2.4黑盒测试

黑盒测试也称功能测试,它是对已经开发成形的产品进行运行,来检测每个功能

点是否实现,在测试时,不用考虑程序内部结构和逻辑设计,测试者以使用者的身份进行测试,只检查程序功能是否符合需求规格说明书,程序是否能正确的输入输出,执行操作。黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测等,主要用于软件确认测试。

由于此次主要就黑盒测试的案例进行测试流程的分析,所以有必要了解一下黑盒测试的测试方法。黑盒测试的基本测试方法有:

·等价类划分

·边界值分析法

·因果图法

·错误推测法

2.2.4.1等价类划分

等价类划分:是黑盒测试中的一种典型方法,不用考虑程序的内部结构如何,只需要按照需求分析来编写、设计测试用例。等价类划分的方法可把所有可能的输入数据划分成几个部分,在每一部分中选取有代表性的数据用于测试。等价类划分要将测试所用到的数据分为两种:即有效等价类和无效等价类,两种数据在测试中同等重要。

2.2.4.2边界值分析法

边界值分析法:也是黑盒测试的一种方法,是在等价类划分法基础上的补充。经验证明,边界条件的测试用例更具有回报率。它与等价类划分法不同的是,等价类划分法选择几个部分中分别有代表性的数据即可,但边界值分析法需要选择一个或者多个边界值,首先要确定边界情况,再选取恰好等于、小于、大于边界值得数据进行测试。

2.2.4.3因果图法

因果图法:边界值分析法和等价类划分法的凑存在一个弱点就是没有对输入条件的组合进行分析,如果在测试中必须考虑输入条件的各种组合,就要采用一种适合描述对于多种条件的组合,相应产生多个动作的形式来考虑测试用例的设计,此时就需要用因果图。

2.2.4.4错误推测法

错误推测法:根据个人经验和感觉推测可能出现的所有错误和已发生错误的情况,从而有针对性的设计测试用例的方法。

第3章 软件的测试相关

3.1软件的测试流程

完成一个软件项目的测试,要在测试流程的各个环节进行严格的把控。软件测试的一般测试流程为:

·熟悉需求:项目开始阶段,阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求及所要开发软件的设计文档,包括软件的规格说明和逻辑设计等,由测试团队共同完成。

·需求评审:测试人员、开发人员、需求人员参与,剔除需求中不合理的部分,无法实现的部分,不清楚的部分和有异议的地方,

·编写测试计划:根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等,有测试团队领导完成。

·测试计划评审:由需求人员、开发人员和测试人员共同参与,对所提出的测试计划进行审核,对时间、人力上不合理的安排进行整改。

·编写测试用例:由测试人员根据测试计划、任务分配、功能点划分,设计合理的测试用例。

·测试用例评审: 由需求人员、开发人员和测试人员共同参与,对所编写的测试用例进行评审,发现测试遗漏或不合理的部分。

·运行测试用例:由测试人员根据测试用例执行测试。

·提交bug :对每个有bug 的测试点在测试管理工具中进行bug 管理,并跟踪直到bug 的解决。

·回归测试:在产品投入上线前针对测试过程中出现的bug 进行再次的审查,确保bug 彻底解决。

·编写测试报告:通过测试和bug 的追踪,最终确定各个功能点和测试项都能达到需求的要求,没有重大bug 。

3.2相关软件介绍 3.2.1Oracle

Oracle 系统,即是以Oracle 关系数据库为数据存储和管理作为构架基础,构建出的数据库管理系统。 Oracle,世界第一个支持SQL 语言的商业数据库,定位于高端工作站,以及作为服务器的小型计算机。Oracle 11g 是甲骨文公司在2007年7月12日推出的最新数据库软件,其数据库管理功能主要包括SQL 重演、计划管理、自动诊断知识库和事件打包服务等。 3.2.2PL/SQL

PL/SQL Developer是一个集成开发环境,专门面向Oracle 数据库存储程序单元的开发。PL/SQL Developer 侧重于易用性、代码品质和生产力,充分发挥Oracle 应用程序开发过程中的主要优势。

PL/SQL Developer 具有许多智能特性,其中的SQL 窗口和命令窗口能够满足要求性最高的用户需求。 3.2.2.1SQL 窗口

该窗口允许您输入任何SQL 语句,并以栅格形式对结果进行观察和编辑,支持按范例查询模式,以便在某个结果集合中查找特定记录。历史缓存可以帮助调用先前执

7

行过的SQL 语句。 3.2.2.2命令窗口

使用PL/SQL Developer 的命令窗口能够开发并运行SQL 脚本。内置的脚本编辑器,无需编辑脚本、保存脚本、转换为SQL*Plus、运行脚本过程,也不用离开PL/SQL Developer 集成开发环境。

8

第4章 软件测试案例分析

4.1代理商卡号六个月在网酬金结算

4.1.1代理商卡号六个月在网酬金结算需求分析说明书

按照需求说明确定测试内容。

移动代理商卡号6个月在网酬金规则 【业务定义】

代理商发展的零售末梢套封卡,白卡,渠道套封卡用户,自入网开始,在第六个月为止,在每月的月初,对出账月内符合当前有效的用户,跟代理商进行一定的结算。(除88系列套餐品牌) 【结算规则】 例如

号码 138XXXXX,2013-1-10 入网

2013-7-1号结算6个月在网,统计号码138XXXXX 当前状态是否有效。 卡类型 卡型号限制 活动限制 结算方式 结算标准 所有卡品 非88套餐 无 无 10

88套餐

4.1.2. 移动代理商卡号六个月在网酬金结算测试用例

测试用例主要用穷举法,将所有测试点的内容涵盖,以免遗漏。 测试用例具体结构见下表

9

表2 测试用例

测编

试号项点

件 非88套餐,在网用户常步

规骤

测1

试用六个月

放六个月在网酬金,

card_message='Y' and card_item='否' and

months_between(sysdate,to_date(card_date))>

=6 and agent_id =(符合条件的代理商的

agent_id)

--在cost_info表中查询符合酬金结算条件的代

理商记录与card_info对比

select * from cost_info where agent_id=(符

合条件代理商的agent_id)

使

select * from card_info where

件,

的代理商记录与cost_info表中数据对比

cost_level=1

--在card_info表中查询每个符合酬金结算条件

酬金结算标准

满足条件

1. 执行计算酬金脚本 2. 查看酬金表中数据是否正确

--在card_inof表中查询哪些代理商符合酬金结

算条件

select distinct agent_id from card_info where

card_message='Y' and card_item='否' and

months_between(sysdate,to_date(card_date))>

=6;

结果

条检

操作步骤

测试数据

结期预

10

11

12

13

套餐,满在网用户常步

规骤

测5

试用六个月

六个月在网酬使

放已

发且

否足条件是

2. 查看酬金表中数据是否正确

--在card_inof表中查询哪些代理商符合酬金结

算条件

select distinct agent_id from card_info where

card_message='Y' and card_item='是' and

months_between(sysdate,to_date(card_date))>

=6;

--在card_info表中查询每个符合酬金结算条件的代理商记录与cost_info表中数据对比

select * from card_info where card_message='Y' and card_item='是' and

months_between(sysdate,to_date(card_date))>

=6 and agent_id =(符合条件的代理商的

agent_id)

--在cost_info表中查询符合酬金结算条件的代

理商记录与card_info对比

酬金结算标准

cost_level=1

件,

金,select * from cost_info where agent_id=(符酬

合条件代理商的agent_id)

14

15

16

4.1.3测试环境的搭建 4.1.3.1测试用表

主要运用两个表卡号信息表card_info、酬金表cost_info。

·卡号信息表card_info:记录所有代理商所售出的所有卡号基本信息。 ·酬金表cost_info:存储出账的酬金,包括代理商基本信息和应该结算的酬金金额

具体表之间的关系用E-R 图向大家展示。

17

18

4.1.4移动代理商卡号六个月在网酬金结算测试报告

根据脚本文件的执行,按照测试步骤进行测试提交测试报告.

图2 测试报告

4.1.5缺陷报告

19

4.1.6测试总结

本次测试主要运用因果图法,将需求中的主要测试点按不同组合分组,穷举出投入使用时的所有可能性,从而发现其中的BUG 。通过本次的测试,完善了原有执行脚本的不足,对发现的BUG 进行了整理、修改。收获颇丰,不但了解了测试的相关流程,也考验了自己做事的细心度。基本上完成了测试任务。

20

结 论

通过6个月在网酬金测试案例的分析,更深入的了解了软件的测试流程,也更加明白了软件测试的重要性,更培养了我做事严谨认真的态度。

通过本次的测试实施,加深了Oracle 数据语言的应用,同时也认识到在以后的学习中,应该更加注重逻辑代码的学习,就测试而言,黑盒测试还有可以发展的空间,作为一个好的测试人员,不应该只从表面看到所开发软件的不足,应该学会从逻辑上优化所开发的软件。让许多软件不足更早的被发现,避免错误遗漏。就本次的测试案例而言,还可以将测试更加细分化,保证测试案例涵盖了所有可能的条件。,另一方面,此次测试主要针对该案例的常规测试,这在软件测试中是存在漏洞的,测试案例还应该尽可能的包括一些异常案例,保证软件投入运行时的异常操作也能合理的得到处理,不影响软件的使用,不会对使用者造成经济上甚至是信息安全上的损失。

由于实习工作繁忙,在毕业设计和撰写论文时出现了很多问题,感谢老师就设计方向和内容等给我的启示,同时也感谢在我遇到困难时积极帮助我解决问题的同学。此次论文的完成离不开老师对我的帮助和包容,从题目的敲定到内容的确定,老师给了我很多建议,并且在我途中遇到难题时给予我很大的帮助才能按时完成,在此对帮助我的老师和同学再次表示感谢。由于个人能力有限,论文很多方面还有待提高,不足之处请各位老师和同学谅解并给予指导,谢谢!

21

参考文献

[1] 王健, 苗勇, 刘郢. 软件测试员培训教材, 电子工业出版社:2003,35-42. [2] 蔡琰. 浅谈功能测试用例模板设计, 软件测试杂志,2005, 第1期:46-83. [3] 贺平. 软件测试教程, 电子工业出版社:2010,37-64.

[4] 吴长安. 软件测试的若干问题, 软件测试杂志,2007.4.4期:12.

[5](美)Glenford.J.Myers.The Art Of Software Testing (Second Edition),机

械工业出版社:2006,14-25.

[6] Ron Patton.软件测试, 机械工业出版社:2002,43-77. [7] Edward Kit.软件测试过程改进, 机械工业出版社:2003,67-96.

[8] Cem Kaner,James Bach,Bret Pettichord.软件测试经验与教训, 机械工业出版

社:2004,119-205.

[9] 陈技能. 软件测试技术大全, 人民邮电出版社:2008,334-421.

[10]Tim Riley,Adam Goucher.Beautiful Testing, 机械工业出版社:2010,

261-294.

[11]董杰. 软件测试精要, 电子工业出版社:2009,172-254.

22

论文分类号:TP306 密 级:无

软件的测试流程及案例分析

学 院、专业: 计算机学院 信息管理与信息系统专业

学 生 姓 名: 范迎迎 (1012304)

年 级 班: 2010级 3 班

指 导 教 师: 董延华 (教授 )

2014 年 4 月 11 日

摘 要

现如今软件行业日趋成熟,软件在我们的生活中逐渐普及,随之而来的是人们对软件质量的期望逐渐升高,软件的质量、可靠性、稳定性等越来越受到人们的关注。软件测试就成为衡量所开发软件质量、性能是否达到标准、符合需求的重要方式。 本设计以卡号6个月在网酬金结算为例,结合数据库Oracle 及PL/SQL,熟悉软件测试中测试用例的编写、BUG 的跟踪测试、测试报告的形成以及回归测试等过程。主要方式是在对需求进行了解后搭建需要的测试环境,准备需要的测试数据,编写测试案例,并在准备的过程中逐步完善测试案例,以求测试内容的具体全面。

在研究过程中,通过对测试环境的搭建和测试脚本的编写,不仅加深了对数据库语言的学习,也更深入的了解了软件的测试流程和相关知识。对编写测试案例、软件的缺陷测试和测试报告的生成等方面都有了一定的学习。通过此次的研究也接触到了许多新的测试理论,测试方法和测试技术,使我对软件测试这一技术有了更深的认识。

关键字:软件测试;PL/SQL;测试用例;BUG

Abstract

Nowadays, software industry matures, the software gradually popular in our life, there is what is expected of software quality increased gradually, people pay more and more attention to the software quality, reliability, stability. The software testing as a measure of the software quality, performance is up to the standard, with an important way of demand.

The number 6 months in the net remuneration settlement as an example, combined with Oracle database and PL/SQL, be familiar with software test case design, BUG tracking test, test report form as well as regression testing process. The main approach is to test environment in the understanding of requirements need to build, test data, writing test cases, and gradually improve the test case in the preparation process, in order to test the specific content of the comprehensive.

In the research process, through the preparation of the test environment and test script, not only deepened the database language learning, but also more in-depth understanding of the software testing process and related knowledge. Generation of testing and test report test case, the software has a certain amount of learning. Through this research also came into contact with many new test theory, test methods and test technology, the software testing of this technology have a deeper understanding.

Key words:Software testing;PL/SQL;Test case;BUG

目 录

摘 要 ................................................................................................................................................ I Abstract.............................................................................................................................................. I I 目 录 ............................................................................................................................................. III

绪 论 ............................................................................................................................................... 1

第1章 软件测试的理论基础 ......................................................................................................... 2

1.1软件测试的意义 ................................................................................................................. 2

1.2软件测试的目的 ................................................................................................................. 2

第2章 软件测试的分类 ................................................................................................................. 3

2.1软件测试的分类 ................................................................................................................. 3

2.2软件测试类别的认识 ......................................................................................................... 3

2.2.1静态测试 .......................................................................................................................... 3

2.2.2动态测试 .......................................................................................................................... 3

2.2.3白盒测试 .......................................................................................................................... 3

2.2.4黑盒测试 .......................................................................................................................... 3

第3章 软件的测试相关 ................................................................................................................. 5

3.1软件的测试流程 ................................................................................................................. 5

3.2相关软件介绍 ..................................................................................................................... 7

3.2.1Oracle ................................................................................................................................ 7

3.2.2PL/SQL . ............................................................................................................................. 7

第4章 软件测试案例分析 ............................................................................................................. 9

4.1代理商卡号六个月在网酬金结算 ..................................................................................... 9

4.1.1代理商卡号六个月在网酬金结算需求分析说明书....................................................... 9

4.1.2. 移动代理商卡号六个月在网酬金结算测试用例 ........................................................ 9

4.1.3测试环境的搭建 ............................................................................................................ 17

4.1.4移动代理商卡号六个月在网酬金结算测试报告......................................................... 19

4.1.5缺陷报告 ........................................................................................................................ 19

4.1.6测试总结 ........................................................................................................................ 20

总 结 ............................................................................................................................................. 21

参考文献 ......................................................................................................................................... 22

绪 论

科技的发展日新月异,计算机和手机等高科技产品的广泛应用,带动了国内外软件行业的发展。随着软件产品渐渐深入到人们的生活中,无论是针对工作办公还是日常使用,人们都越来越依赖计算机和软件,因此对软件的质量和稳定的要求也就不断的升高,这也就促进了软件的不断创新、发展,致使软件系统规模越来越大也越来越复杂。软件的质量和稳定性往往关乎到软件的成本和使用,如果稳定性不好,可能会在造成不可估量的经济损失,还会造成一些敏感信息泄露所带来的安全性问题,后果不堪设想。为了更好的防止软件产品的缺陷,在开发软件时就要进行全面的软件测试来保证软件的质量,最大限度的减少软件可能存在的故障。这就充分的体现了软件测试的重要性,也促进了软件测试理论技术实践的的快速形成和发展。软件测试方法的不断涌现;测试理论的日渐成熟;测试技术的不断更新不仅确认了软件是否满足用户的需求,还保证了软件投入使用中的质量和稳定性,奠定了软件测试在行业中的重要性。

软件测试的不断发展让更多的人开始了解关注它,它和需求分析、软件开发同等重要,所以,我卡号酬金结算这个案例,来展示一般软件的测试流程,以及软件测试的相关知识,为大家更好的了解认识软件测试这一方面进行系统的展示。

为了更好的展示软件测试中需求分析的解读、测试案例和测试报告的的编写等,我主要运用数据库ORACLE 和PL/SQL来建立测试环境、编写测试脚本。为了大家更好的理解测试数据的设计理念,我将运用到E-R 图(实体-联系图),使测试更直观,更简洁的展示出来

第1章 软件测试的理论基础

1.1软件测试的意义

软件测试,在软件的生存周期中占据着重要地位,是从产品发布到到产品提交前的确定性能稳定的重要阶段。所谓软件测试,就一个用来确认所开发的软件完成了其应该完成的功能的过程,过程中是不是执行其了没有规范的操作,软件性能应该是稳定的,不会给使用者带来意外“惊喜”。这个过程可以使用人工的也可以使用自动执行的测试方法,最终目的就是检测软件是否能完成人们既定的规则,是否能够按需求中的标准准确无误的执行。软件测试的不只是为了发现软件中的不足,还需要通过分析错误的产生原因来及时发现发生错误的趋势,通过逻辑结构和开发手段等多方面来衡量软件的稳定性、使用性等,发现软件开发过程中存在的缺陷,让测试人员设计出更有针对性的测试方法,及时改正开发过程中的不足。

1.2软件测试的目的

软件测试就是让测试人员站在使用者的角度上,对软件做全面的检查和分析,目的就是暴露出软件开发过程中的问题和可能存在的隐患。引用Grenford J. Myers在《The Art of Software Testing》一书中的观点:

(1)软件测试是为了发现错误而执行程序的过程;

(2)测试是为了证明程序有错,而不是证明程序无错误;

(3)一个好的测试用例是在于它能发现至今未发现的错误;

(4)一个成功的测试是发现了至今未发现的错误的测试。

也就是说软件测试不是单纯的为了证明软件的正确性,也不是指软件测试找不出错误就是没有价值的,这两种观点都很容易使测试偏离正确的方向,失去本身的意义。只有真正的理解了软件测试的涵义,才能合理的设计软件的测试用例。

第2章 软件测试的分类

2.1软件测试的分类

从是否需要执行被测软件的角度, 可分为:

·静态测试

·动态测试

从测试是否针对系统的内部结构和具体实现算法的角度来看, 可分为 :

·白盒测试

·黑盒测试

2.2软件测试类别的认识

2.2.1静态测试 静态方法通过对需求规格说明书、软件设计说明书等做结构、流程图等方面的分析,找出欠缺和可疑之处。静态测试主要是对软件的逻辑设计和代码的结构等进行测试,其结果可为测试用例的选取提供指导。

2.2.2动态测试 主要是对软件的功能和整体进行测试,通过运行软件来发现软件执行过程和执行结果的错误。检查软件运行过程和运行结果有无与预期结果不符的部分,同时对软件的运行效率和软件的稳定性进行有效的分析。其测试步骤主要包括:单元测试、集成测试、系统测试、验收测试和回归测试。

2.2.3白盒测试

白盒测试也称结构测试或逻辑驱动测试,通过测试来验证软件逻辑结构是不是按照需求分析正确设计的,按照程序内部的结构测试程序,检测每个执行过程是不是能够按照既定的要求完成既定动作的过程。白盒测试的主要方法有逻辑测试、基路测试等,主要用于软件内部结构的验证。

2.2.4黑盒测试

黑盒测试也称功能测试,它是对已经开发成形的产品进行运行,来检测每个功能

点是否实现,在测试时,不用考虑程序内部结构和逻辑设计,测试者以使用者的身份进行测试,只检查程序功能是否符合需求规格说明书,程序是否能正确的输入输出,执行操作。黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测等,主要用于软件确认测试。

由于此次主要就黑盒测试的案例进行测试流程的分析,所以有必要了解一下黑盒测试的测试方法。黑盒测试的基本测试方法有:

·等价类划分

·边界值分析法

·因果图法

·错误推测法

2.2.4.1等价类划分

等价类划分:是黑盒测试中的一种典型方法,不用考虑程序的内部结构如何,只需要按照需求分析来编写、设计测试用例。等价类划分的方法可把所有可能的输入数据划分成几个部分,在每一部分中选取有代表性的数据用于测试。等价类划分要将测试所用到的数据分为两种:即有效等价类和无效等价类,两种数据在测试中同等重要。

2.2.4.2边界值分析法

边界值分析法:也是黑盒测试的一种方法,是在等价类划分法基础上的补充。经验证明,边界条件的测试用例更具有回报率。它与等价类划分法不同的是,等价类划分法选择几个部分中分别有代表性的数据即可,但边界值分析法需要选择一个或者多个边界值,首先要确定边界情况,再选取恰好等于、小于、大于边界值得数据进行测试。

2.2.4.3因果图法

因果图法:边界值分析法和等价类划分法的凑存在一个弱点就是没有对输入条件的组合进行分析,如果在测试中必须考虑输入条件的各种组合,就要采用一种适合描述对于多种条件的组合,相应产生多个动作的形式来考虑测试用例的设计,此时就需要用因果图。

2.2.4.4错误推测法

错误推测法:根据个人经验和感觉推测可能出现的所有错误和已发生错误的情况,从而有针对性的设计测试用例的方法。

第3章 软件的测试相关

3.1软件的测试流程

完成一个软件项目的测试,要在测试流程的各个环节进行严格的把控。软件测试的一般测试流程为:

·熟悉需求:项目开始阶段,阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求及所要开发软件的设计文档,包括软件的规格说明和逻辑设计等,由测试团队共同完成。

·需求评审:测试人员、开发人员、需求人员参与,剔除需求中不合理的部分,无法实现的部分,不清楚的部分和有异议的地方,

·编写测试计划:根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等,有测试团队领导完成。

·测试计划评审:由需求人员、开发人员和测试人员共同参与,对所提出的测试计划进行审核,对时间、人力上不合理的安排进行整改。

·编写测试用例:由测试人员根据测试计划、任务分配、功能点划分,设计合理的测试用例。

·测试用例评审: 由需求人员、开发人员和测试人员共同参与,对所编写的测试用例进行评审,发现测试遗漏或不合理的部分。

·运行测试用例:由测试人员根据测试用例执行测试。

·提交bug :对每个有bug 的测试点在测试管理工具中进行bug 管理,并跟踪直到bug 的解决。

·回归测试:在产品投入上线前针对测试过程中出现的bug 进行再次的审查,确保bug 彻底解决。

·编写测试报告:通过测试和bug 的追踪,最终确定各个功能点和测试项都能达到需求的要求,没有重大bug 。

3.2相关软件介绍 3.2.1Oracle

Oracle 系统,即是以Oracle 关系数据库为数据存储和管理作为构架基础,构建出的数据库管理系统。 Oracle,世界第一个支持SQL 语言的商业数据库,定位于高端工作站,以及作为服务器的小型计算机。Oracle 11g 是甲骨文公司在2007年7月12日推出的最新数据库软件,其数据库管理功能主要包括SQL 重演、计划管理、自动诊断知识库和事件打包服务等。 3.2.2PL/SQL

PL/SQL Developer是一个集成开发环境,专门面向Oracle 数据库存储程序单元的开发。PL/SQL Developer 侧重于易用性、代码品质和生产力,充分发挥Oracle 应用程序开发过程中的主要优势。

PL/SQL Developer 具有许多智能特性,其中的SQL 窗口和命令窗口能够满足要求性最高的用户需求。 3.2.2.1SQL 窗口

该窗口允许您输入任何SQL 语句,并以栅格形式对结果进行观察和编辑,支持按范例查询模式,以便在某个结果集合中查找特定记录。历史缓存可以帮助调用先前执

7

行过的SQL 语句。 3.2.2.2命令窗口

使用PL/SQL Developer 的命令窗口能够开发并运行SQL 脚本。内置的脚本编辑器,无需编辑脚本、保存脚本、转换为SQL*Plus、运行脚本过程,也不用离开PL/SQL Developer 集成开发环境。

8

第4章 软件测试案例分析

4.1代理商卡号六个月在网酬金结算

4.1.1代理商卡号六个月在网酬金结算需求分析说明书

按照需求说明确定测试内容。

移动代理商卡号6个月在网酬金规则 【业务定义】

代理商发展的零售末梢套封卡,白卡,渠道套封卡用户,自入网开始,在第六个月为止,在每月的月初,对出账月内符合当前有效的用户,跟代理商进行一定的结算。(除88系列套餐品牌) 【结算规则】 例如

号码 138XXXXX,2013-1-10 入网

2013-7-1号结算6个月在网,统计号码138XXXXX 当前状态是否有效。 卡类型 卡型号限制 活动限制 结算方式 结算标准 所有卡品 非88套餐 无 无 10

88套餐

4.1.2. 移动代理商卡号六个月在网酬金结算测试用例

测试用例主要用穷举法,将所有测试点的内容涵盖,以免遗漏。 测试用例具体结构见下表

9

表2 测试用例

测编

试号项点

件 非88套餐,在网用户常步

规骤

测1

试用六个月

放六个月在网酬金,

card_message='Y' and card_item='否' and

months_between(sysdate,to_date(card_date))>

=6 and agent_id =(符合条件的代理商的

agent_id)

--在cost_info表中查询符合酬金结算条件的代

理商记录与card_info对比

select * from cost_info where agent_id=(符

合条件代理商的agent_id)

使

select * from card_info where

件,

的代理商记录与cost_info表中数据对比

cost_level=1

--在card_info表中查询每个符合酬金结算条件

酬金结算标准

满足条件

1. 执行计算酬金脚本 2. 查看酬金表中数据是否正确

--在card_inof表中查询哪些代理商符合酬金结

算条件

select distinct agent_id from card_info where

card_message='Y' and card_item='否' and

months_between(sysdate,to_date(card_date))>

=6;

结果

条检

操作步骤

测试数据

结期预

10

11

12

13

套餐,满在网用户常步

规骤

测5

试用六个月

六个月在网酬使

放已

发且

否足条件是

2. 查看酬金表中数据是否正确

--在card_inof表中查询哪些代理商符合酬金结

算条件

select distinct agent_id from card_info where

card_message='Y' and card_item='是' and

months_between(sysdate,to_date(card_date))>

=6;

--在card_info表中查询每个符合酬金结算条件的代理商记录与cost_info表中数据对比

select * from card_info where card_message='Y' and card_item='是' and

months_between(sysdate,to_date(card_date))>

=6 and agent_id =(符合条件的代理商的

agent_id)

--在cost_info表中查询符合酬金结算条件的代

理商记录与card_info对比

酬金结算标准

cost_level=1

件,

金,select * from cost_info where agent_id=(符酬

合条件代理商的agent_id)

14

15

16

4.1.3测试环境的搭建 4.1.3.1测试用表

主要运用两个表卡号信息表card_info、酬金表cost_info。

·卡号信息表card_info:记录所有代理商所售出的所有卡号基本信息。 ·酬金表cost_info:存储出账的酬金,包括代理商基本信息和应该结算的酬金金额

具体表之间的关系用E-R 图向大家展示。

17

18

4.1.4移动代理商卡号六个月在网酬金结算测试报告

根据脚本文件的执行,按照测试步骤进行测试提交测试报告.

图2 测试报告

4.1.5缺陷报告

19

4.1.6测试总结

本次测试主要运用因果图法,将需求中的主要测试点按不同组合分组,穷举出投入使用时的所有可能性,从而发现其中的BUG 。通过本次的测试,完善了原有执行脚本的不足,对发现的BUG 进行了整理、修改。收获颇丰,不但了解了测试的相关流程,也考验了自己做事的细心度。基本上完成了测试任务。

20

结 论

通过6个月在网酬金测试案例的分析,更深入的了解了软件的测试流程,也更加明白了软件测试的重要性,更培养了我做事严谨认真的态度。

通过本次的测试实施,加深了Oracle 数据语言的应用,同时也认识到在以后的学习中,应该更加注重逻辑代码的学习,就测试而言,黑盒测试还有可以发展的空间,作为一个好的测试人员,不应该只从表面看到所开发软件的不足,应该学会从逻辑上优化所开发的软件。让许多软件不足更早的被发现,避免错误遗漏。就本次的测试案例而言,还可以将测试更加细分化,保证测试案例涵盖了所有可能的条件。,另一方面,此次测试主要针对该案例的常规测试,这在软件测试中是存在漏洞的,测试案例还应该尽可能的包括一些异常案例,保证软件投入运行时的异常操作也能合理的得到处理,不影响软件的使用,不会对使用者造成经济上甚至是信息安全上的损失。

由于实习工作繁忙,在毕业设计和撰写论文时出现了很多问题,感谢老师就设计方向和内容等给我的启示,同时也感谢在我遇到困难时积极帮助我解决问题的同学。此次论文的完成离不开老师对我的帮助和包容,从题目的敲定到内容的确定,老师给了我很多建议,并且在我途中遇到难题时给予我很大的帮助才能按时完成,在此对帮助我的老师和同学再次表示感谢。由于个人能力有限,论文很多方面还有待提高,不足之处请各位老师和同学谅解并给予指导,谢谢!

21

参考文献

[1] 王健, 苗勇, 刘郢. 软件测试员培训教材, 电子工业出版社:2003,35-42. [2] 蔡琰. 浅谈功能测试用例模板设计, 软件测试杂志,2005, 第1期:46-83. [3] 贺平. 软件测试教程, 电子工业出版社:2010,37-64.

[4] 吴长安. 软件测试的若干问题, 软件测试杂志,2007.4.4期:12.

[5](美)Glenford.J.Myers.The Art Of Software Testing (Second Edition),机

械工业出版社:2006,14-25.

[6] Ron Patton.软件测试, 机械工业出版社:2002,43-77. [7] Edward Kit.软件测试过程改进, 机械工业出版社:2003,67-96.

[8] Cem Kaner,James Bach,Bret Pettichord.软件测试经验与教训, 机械工业出版

社:2004,119-205.

[9] 陈技能. 软件测试技术大全, 人民邮电出版社:2008,334-421.

[10]Tim Riley,Adam Goucher.Beautiful Testing, 机械工业出版社:2010,

261-294.

[11]董杰. 软件测试精要, 电子工业出版社:2009,172-254.

22


相关内容

  • 本科毕业论文(设计)指导情况记录表范本
  • 本科毕业论文(设计)指导情况记录表范本 注:1.本表由指导教师填写,学生定稿后由指导教师送交院(系)存档备案. 2.指导教师每次对学生毕业论文(设计)指导后应予记载,并注明时间. 指导教师签名: 日期: 2015 年 12 月 10 日 注:1.本表由指导教师填写,学生定稿后由指导教师送交院(系)存 ...

  • 本科毕业论文评阅人评语范本
  • 本科毕业论文评阅人评语范本 基于现场总线的液位控制实验系统设计: 该课题来源于生产实际需求,目的明确,中心突出,选题对生产实践有一定参考价值.课题调研资料准备充分,内容涉及现场总线,PID 控制,模糊控制几方面的知识.论文内容合理.图纸齐全,基本符合国家有关标准,主题突出,逻辑较严密,层次分明,文体 ...

  • 本科毕业自我鉴定范本
  • 本人在本科学习阶段,思想上要求上进,认真学习,努力钻研专业知识,毕业之际,回顾四年来的学习.工作以及生活,做自我鉴定如下: 思想方面.我认真学习马克思列宁主义.##思想.邓小平理论和"xxxx"重要思想:关心时事政治,关心学校的改革与发展:拥护党的路线.方针和政策,能认真执行学校 ...

  • 岗位说明书范本
  • 市场部: 一.市场活动专员 岗位职责: 1.在部门主管的指导下对分公司业务营销工作进行指导.协调: 2.负责分公司各类市场数据汇总.分析并随时汇报领导市场动态情况: 3.负责收集.整理.归纳各分公司市场行情情况,提出分析报告.为领导决策提供数据参考支持: 任职要求: 1.1年以上工作经验,优秀应届毕 ...

  • 体育学院本科毕业论文规范
  • 体育学院2012届本科毕业论文规范 一.毕业论文的基本要求 毕业论文应当在指导老师的指导下,由学生独立完成,严禁抄袭.剽窃他人成果.凡抄袭.剽窃他人成果者,按作弊论处,不准参加答辩,成绩按不及格计.毕业论文要求用中文撰写,论文字数一般在10000字左右,不得少于8000字. 二.毕业论文的规范化要求 ...

  • 自我鉴定的范本
  • 师范生见习自我鉴定:x月x日,我按照学校的要求,抵达xx中学进行为期xx天的教育实习活动.一阶段来,在xx中学校领导和有关老师的帮助指导下,我较好地完成了教育实习任务.下面,就实习期间自己在教学实习和班主任实习等方面的工作做一个自我鉴定: 一.教学工作实习.教学实习中,总的来说,我能认真备课,所设计 ...

  • [借款合同]教育合作协议书范本
  • 教育合作协议书范本 甲方:___________学校 法定代表人: 乙方: 法定代表人: 经甲.乙双方共同协商,本着互惠互利.共同发展的原则,就开展教育合作事宜,达成如下协议: 一.合作事项 甲方授权乙方为省市县"________________秘书学院合作基地".同时为了维护双 ...

  • 车贷收入证明格式
  • 车贷收入证明,是我国公民在日常生产生活经营活动中,所需要的对经济收入的一种证明,一般在办理车贷等会被要求由当事人单位出具的对经济收入的证明。银行让客户提供收入证明就是为了弄清客户的偿还能力,偿还能力不清楚之前银行是不会提供车贷的。 炒金如何赚钱专家免费指导 银行黄金白银TD开户指南 银行黄金白银模拟 ...

  • 车贷收入证明怎么开
  • 车贷收入证明,是我国公民在日常生产生活经营活动中,所需要的对经济收入的一种证明,一般在办理车贷等会被要求由当事人单位出具的对经济收入的证明。银行让客户提供收入证明就是为了弄清客户的偿还能力,偿还能力不清楚之前银行是不会提供车贷的。 车贷收入证明格式需要注意:第一:开收入证明要注意必须的格式。第二:开 ...

  • 教育项目合作协议书范本
  • 教育项目合作协议书范本 >> 甲方:_____________学院 乙方: ____________________ 经甲.乙双方共同协商,本着互惠互利.共同发展,使中国秘书尽早走向职业化,达成如下合作协议: 一.甲方授权乙方为______省_____市_____县 二.甲方职责: 1. ...