软件的测试流程与案例分析本科毕业论文.docx
- 文档编号:11439512
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:32
- 大小:143.12KB
软件的测试流程与案例分析本科毕业论文.docx
《软件的测试流程与案例分析本科毕业论文.docx》由会员分享,可在线阅读,更多相关《软件的测试流程与案例分析本科毕业论文.docx(32页珍藏版)》请在冰豆网上搜索。
软件的测试流程与案例分析本科毕业论文
XX师X大学
毕业论文(设计)
论文分类号:
TP306
密级:
无
软件的测试流程与案例分析
学院、专业:
计算机学院信息管理与信息系统专业
学生姓名:
迎迎(1012304)
年级班:
2010级3班
指导教师:
董延华(教授)
2014年4月11日
摘要
现如今软件行业日趋成熟,软件在我们的生活中逐渐普与,随之而来的是人们对软件质量的期望逐渐升高,软件的质量、可靠性、稳定性等越来越受到人们的关注。
软件测试就成为衡量所开发软件质量、性能是否达到标准、符合需求的重要方式。
本设计以卡号6个月在网酬金结算为例,结合数据库Oracle与PL/SQL,熟悉软件测试中测试用例的编写、BUG的跟踪测试、测试报告的形成以与回归测试等过程。
主要方式是在对需求进行了解后搭建需要的测试环境,准备需要的测试数据,编写测试案例,并在准备的过程中逐步完善测试案例,以求测试容的具体全面。
在研究过程中,通过对测试环境的搭建和测试脚本的编写,不仅加深了对数据库语言的学习,也更深入的了解了软件的测试流程和相关知识。
对编写测试案例、软件的缺陷测试和测试报告的生成等方面都有了一定的学习。
通过此次的研究也接触到了许多新的测试理论,测试方法和测试技术,使我对软件测试这一技术有了更深的认识。
关键字:
软件测试;PL/SQL;测试用例;BUG
Abstract
Nowadays,softwareindustrymatures,thesoftwaregraduallypopularinourlife,thereiswhatisexpectedofsoftwarequalityincreasedgradually,peoplepaymoreandmoreattentiontothesoftwarequality,reliability,stability.Thesoftwaretestingasameasureofthesoftwarequality,performanceisuptothestandard,withanimportantwayofdemand.
Thenumber6monthsinthenetremunerationsettlementasanexample,combinedwithOracledatabaseandPL/SQL,befamiliarwithsoftwaretestcasedesign,BUGtrackingtest,testreportformaswellasregressiontestingprocess.Themainapproachistotestenvironmentintheunderstandingofrequirementsneedtobuild,testdata,writingtestcases,andgraduallyimprovethetestcaseinthepreparationprocess,inordertotestthespecificcontentofthecomprehensive.
Intheresearchprocess,throughthepreparationofthetestenvironmentandtestscript,notonlydeepenedthedatabaselanguagelearning,butalsomorein-depthunderstandingofthesoftwaretestingprocessandrelatedknowledge.Generationoftestingandtestreporttestcase,thesoftwarehasacertainamountoflearning.Throughthisresearchalsocameintocontactwithmanynewtesttheory,testmethodsandtesttechnology,thesoftwaretestingofthistechnologyhaveadeeperunderstanding.
Keywords:
Softwaretesting;PL/SQL;Testcase;BUG
绪论
科技的发展日新月异,计算机和手机等高科技产品的广泛应用,带动了国外软件行业的发展。
随着软件产品渐渐深入到人们的生活中,无论是针对工作办公还是日常使用,人们都越来越依赖计算机和软件,因此对软件的质量和稳定的要求也就不断的升高,这也就促进了软件的不断创新、发展,致使软件系统规模越来越大也越来越复杂。
软件的质量和稳定性往往关乎到软件的成本和使用,如果稳定性不好,可能会在造成不可估量的经济损失,还会造成一些敏感信息泄露所带来的安全性问题,后果不堪设想。
为了更好的防止软件产品的缺陷,在开发软件时就要进行全面的软件测试来保证软件的质量,最大限度的减少软件可能存在的故障。
这就充分的体现了软件测试的重要性,也促进了软件测试理论技术实践的的快速形成和发展。
软件测试方法的不断涌现;测试理论的日渐成熟;测试技术的不断更新不仅确认了软件是否满足用户的需求,还保证了软件投入使用中的质量和稳定性,奠定了软件测试在行业中的重要性。
软件测试的不断发展让更多的人开始了解关注它,它和需求分析、软件开发同等重要,所以,我卡号酬金结算这个案例,来展示一般软件的测试流程,以与软件测试的相关知识,为大家更好的了解认识软件测试这一方面进行系统的展示。
为了更好的展示软件测试中需求分析的解读、测试案例和测试报告的的编写等,我主要运用数据库ORACLE和PL/SQL来建立测试环境、编写测试脚本。
为了大家更好的理解测试数据的设计理念,我将运用到E-R图(实体-联系图),使测试更直观,更简洁的展示出来
第1章软件测试的理论基础
1.1软件测试的意义
软件测试,在软件的生存周期中占据着重要地位,是从产品发布到到产品提交前的确定性能稳定的重要阶段。
所谓软件测试,就一个用来确认所开发的软件完成了其应该完成的功能的过程,过程中是不是执行其了没有规的操作,软件性能应该是稳定的,不会给使用者带来意外“惊喜”。
这个过程可以使用人工的也可以使用自动执行的测试方法,最终目的就是检测软件是否能完成人们既定的规则,是否能够按需求中的标准准确无误的执行。
软件测试的不只是为了发现软件中的不足,还需要通过分析错误的产生原因来与时发现发生错误的趋势,通过逻辑结构和开发手段等多方面来衡量软件的稳定性、使用性等,发现软件开发过程中存在的缺陷,让测试人员设计出更有针对性的测试方法,与时改正开发过程中的不足。
1.2软件测试的目的
软件测试就是让测试人员站在使用者的角度上,对软件做全面的检查和分析,目的就是暴露出软件开发过程中的问题和可能存在的隐患。
引用GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中的观点:
(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。
表1缺陷等级划分
分级
BUG等级
BUG等级说明
分类说明
致命问题
Blocker
导致整个产品无法进行测试。
修改优先级为最高,该级别需要程序员立即修改
○模块无法启动或异常退出
○其它导致无法测试的错误
Critical
死机,数据丢失,主要功能完全丧失,系统悬挂等错误。
修改优先级为最高,该级别需要程序员立即修改
○运行过程中系统崩溃/死机/重启
○功能设计与需求严重不符
○严重花屏
○存泄漏
○影响手机语音或数据通讯等
○严重的数值计算错误
严重问题
Major
主要功能丧失,导致严重的问题,或致命的错误声明。
修改优先级为高,该级别需要程序员尽快修改
○功能未实现或者存在错误
○轻微的数值计算错误
○系统所提供的功能或服务受明显的影响
○用户数据丢失或破坏
一般问题
Normal
次要功能丧失,不太严重,如提示信息不太准确。
修改优先级为中,该级别需要程序员修改
○操作界面错误(包括数据窗口列名定义、含义是否一致)
○边界条件下错误
○功能存在错误,但出现概率很低
○提示信息错误(包括未给出信息、信息提示错误等)
○长时间操作无进度提示
○系统未优化(性能问题)
Minor
微小的问题,对功能几乎没有影响,产品与属性仍可使用。
修改优先级为低,该级别需要程序员修改或不修改
○界面格式等不规
○操作时未给用户提示
○文字排列不整齐等一些小问题
○光标跳转设置不好,鼠标(光标)定位错误
轻微问题
Trivial
提示信息格式不符合要求,违背正常习俗习惯的,界面不美观,控件排列、格式不统一
○辅助说明描述不清楚、
○个别不影响产品理解的错别字
有明显的区分标志
Enhancement
功能性建议,功能使用性、方便性、易用性不够
3.2相关软件介绍
3.2.1Oracle
Oracle系统,即是以Oracle关系数据库为数据存储和管理作为构架基础,构建出的数据库管理系统。
Oracle,世界第一个支持SQL语言的商业数据库,定位于高端工作站,以与作为服务器的小型计算机。
Oracle11g是甲骨文公司在2007年7月12日推出的最新数据库软件,其数据库管理功能主要包括SQL重演、计划管理、自动诊断知识库和事件打包服务等。
3.2.2PL/SQL
PL/SQLDeveloper是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。
PL/SQLDeveloper侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。
PL/SQLDeveloper具有许多智能特性,其中的SQL窗口和命令窗口能够满足要求性最高的用户需求。
3.2.2.1SQL窗口
该窗口允许您输入任何SQL语句,并以栅格形式对结果进行观察和编辑,支持按例查询模式,以便在某个结果集合中查找特定记录。
历史缓存可以帮助调用先前执行过的SQL语句。
3.2.2.2命令窗口
使用PL/SQLDeveloper的命令窗口能够开发并运行SQL脚本。
置的脚本编辑器,无需编辑脚本、保存脚本、转换为SQL*Plus、运行脚本过程,也不用离开PL/SQLDeveloper集成开发环境。
第4章软件测试案例分析
4.1代理商卡号六个月在网酬金结算
4.1.1代理商卡号六个月在网酬金结算需求分析说明书
按照需求说明确定测试容。
移动代理商卡号6个月在网酬金规则
[业务定义]
代理商发展的零售末梢套封卡,白卡,渠道套封卡用户,自入网开始,在第六个月为止,在每月的月初,对出账月符合当前有效的用户,跟代理商进行一定的结算。
(除88系列套餐品牌)
[结算规则]
例如
138XXXXX,2013-1-10入网
2013-7-1号结算6个月在网,统计138XXXXX当前状态是否有效。
卡类型卡型号限制活动限制结算方式结算标准
所有卡品非88套餐无无10
88套餐0
4.1.2.移动代理商卡号六个月在网酬金结算测试用例
测试用例主要用穷举法,将所有测试点的容涵盖,以免遗漏。
测试用例具体结构见下表
表2测试用例
编号
测试项
检查点
前置条件
操作步骤
测试数据
预期结果
步骤1
常规测试
在网用户且已使用六个月
非88套餐,满足条件是否发放六个月在网酬金,酬金发放是否正确
1.执行计算酬金脚本
2.查看酬金表中数据是否正确
--在card_inof表中查询哪些代理商符合酬金结算条件
selectdistinctagent_idfromcard_infowherecard_message='Y'andcard_item='否'andmonths_between(sysdate,to_date(card_date))>=6;
--在card_info表中查询每个符合酬金结算条件的代理商记录与cost_info表中数据对比
select*fromcard_infowherecard_message='Y'andcard_item='否'andmonths_between(sysdate,to_date(card_date))>=6andagent_id=(符合条件的代理商的agent_id)
--在cost_info表中查询符合酬金结算条件的代理商记录与card_info对比
select*fromcost_infowhereagent_id=(符合条件代理商的agent_id)
酬金结算标准cost_level=10
满足酬金结算条件,结算酬金
步骤2
常规测试
在网用户未使用六个月
1.执行计算酬金脚本
2.查看酬金表中数据是否正确
--在card_inof表中查询哪些代理商符合测试条件
selectdistinctagent_idfromcard_infowherecard_message='Y'andcard_item='否'andmonths_between(sysdate,to_date(card_date)<6;
--在card_info表中查询每个符合测试条件的代理商记录与cost_info表中数据对比
select*fromcard_infowherecard_message='Y'andcard_item='否'andmonths_between(sysdate,to_date(card_date))<6andagent_id=(符合条件的代理商的agent_id)
--在cost_info表中查询符合酬金结算条件的代理商记录与card_info对比
select*fromcost_infowhereagent_id=(符合条件代理商的agent_id)
酬金结算标准cost_level=10
不满足酬金结算条件,不结算酬金
步骤3
常规测试
满足使用六个月,但用户不在网
1.执行计算酬金脚本
2.查看酬金表中数据是否正确
--在card_inof表中查询哪些代理商符合酬金结算条件
selectdistinctagent_idfromcard_infowherecard_message='N'andcard_item='否'andmonths_between(sysdate,to_date(card_date))>=6;
--在card_info表中查询每个符合酬金结算条件的代理商记录与cost_info表中数据对比
select*fromcard_infowherecard_message='N'andcard_item='否'andmonths_between(sysdate,to_date(card_date))>=6andagent_id=(符合条件的代理商的agent_id)
--在cost_info表中查询符合酬金结算条件的代理商记录与card_info对比
select*fromcost_infowhereagent_id=(符合条件代理商的agent_id)
酬金结算标准cost_level=10
不满足酬金结算条件,不结算酬金
步骤4
常规测试
使用不满足六个月且用户不在网
1.执行计算酬金脚本
2.查看酬金表中数据是否正确
--在card_inof表中查询哪些代理商符合酬金结算条件
selectdistinctagent_idfromcard_infowherecard_message='N'andcard_item='否'andmonths_between(sysdate,to_date(card_date))<6;
--在card_info表中查询每个符合酬金结算条件的代理商记录与cost_info表中数据对比
select*fromcard_infowherecard_message='N'andcard_item='否'andmonths_between(sysdate,to_date(card_date))<6andagent_id=(符合条件的代理商的agent_id)
--在cost_info表中查询符合酬金结算条件的代理商记录与card_info对比
select*fromcost_infowhereagent_id=(符合条件代理商的agent_id)
酬金结算标准cost_level=10
不满足酬金结算条件,不结算酬金
步骤5
常规测试
在网用户且已使用六个月
88套餐,满足条件是否发放六个月在网酬金,酬金发放是否正确
1.执行计算酬金脚本
2.查看酬金表中数据是否正确
--在card_inof表中查询哪些代理商符合酬金结算条件
selectdistinctagent_idfromcard_infowherecard_message='Y'andcard_item='是'andmonths_between(sysdate,to_date(card_date))>=6;
--在card_info表中查询每个符合酬金结算条件的代理商记录与cost_info表中数据对比
select*fromcard_infowherecard_message='Y'andcard_item='是'andmonths_between(sysdate,to_date(card_date))>=6andagent_id=(符合条件的代理商的agent_id)
--在cost_info表中查询符合酬金结算条件的代理商记录与card_info对比
select*fromcost_infowhereagent_id=(符合条件代理商的agent_id)
酬金结算标准cost_level=10
不满足酬金结算条件,不结算酬金
步骤6
常规测试
在网用户未使用六个月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 流程 案例 分析 本科毕业 论文