基于工作岗位的软件技术专业设计作品或研究_第1页
基于工作岗位的软件技术专业设计作品或研究_第2页
基于工作岗位的软件技术专业设计作品或研究_第3页
基于工作岗位的软件技术专业设计作品或研究_第4页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题 目:基于工作岗位的软件技术专业设计作品或研究 专 业:移动互联 摘要 随着现代生活水平的提高,人们对生活质量的要求也就越来越高,越来越向舒适便捷的生活而努力。各种各样的系统迅速地出现,方便着人们的生活。为了更能满足人们的需求,一个优秀的系统不光要有全面强大的功能,而且质量也要有一定的保障。如果有两个系统,一个功能特别多,但是经常运行出错或闪退,而另一个功能不及第一个多,但是整个系统运行很流畅,很少会出现系统报错,我相信大多数人会选择第二款。软件测试就是规避这些问题出现的一个重要的过程。所以在这篇文章中,我是基于现有的工作,对软件测试进行更近一步的研究,将运用到一些参考文献及文件,来对软件测试的相关技术,运用的方法,过程等进行研究,在此次研究中,完成了我预期的研究目标。 第1章 绪论1.1 软件测试的背景与意义软件测试的发展史软件测试是伴随着软件的产生而产生的。早期的软件开发过程中,那时软件规模都很小、复杂程度低,软件开发的过程混乱无序、相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试 到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。人们还将“质量”的概念融入其中,软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且将测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容,Bill Hetzel在软件测试完全指南(Complete Guide of Software Testing)一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”这个定义至今仍被引用。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题 软件测试已有了行业标准(IEEE/ANSI ),1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。它再也不是一个一次性的,而且只是开发后期的活动,而是与整个开发流程融合成一体。软件测试已成为一个专业,需要运用专门的方法和手段,需要专门人才和专家来承担。 进入上世纪90年代,软件行业开始迅猛发展,软件的规模变的非常大,在一些大型软件开发过程中,测试活动需要花费大量的时间和成本,而当时测试的手段几乎完全都是手工测试,测试的效率非常低;并且随着软件复杂度的提高,出现了很多通过手工方式无法完成测试的情况,尽管在一些大型软件的开发过程中,人们尝试编写了一些小程序来辅助测试,但是这还是不能满足大多数软件项目的统一需要。于是,很多测试实践者开始尝试开发商业的测试工具来支持测试,辅助测试人员完成某一类型或某一领域内的测试工作,而测试工具逐渐盛行起来。人们普遍意识到,工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具是必不可少的。测试工具可以进行部分的测试设计、实现、执行和比较的工作。通过运用测试工具,可以达到提高测试效率的目的。测试工具的发展,大大提高了软件测试的自动化程度,让测试人员从繁琐和重复的测试活动中解脱出来,专心从事有意义的测试设计等活动。采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题。设计良好的自动化测试,在某些情况下可以实现 “ 夜间测试 ” 和 “ 无人测试 ” 。在大多数情况下,软件测试自动化可以减少开支,增加有限时间内可执行的测试,在执行相同数量测试时节约测试时间。 而测试工具的选择和推广也越来越受到重视。在软件测试工具平台方面,商业化的软件测试工具已经很多,如捕获/回放工具、Web测试工具、性能测试工具、测试管理工具、代码测试工具等等,这些都有严格的版权限制且价格较为昂贵,但由于价格和版权的限制无法自由使用,当然,一些软件测试工具开发商对于某些测试工具提供了Beta测试版本以供用户有限次数使用。幸运的是,在开放源码社区中也出现了许多软件测试工具,已得到广泛应用且相当成熟和完善。软件测试的意义软件测试的意义在于,保证发布出去的产品达到了一定的质量标准。软件测试工程师的工作就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。 使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别. 它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。软件测试的重要性测试很重要,因为软件错误可能很昂贵甚至很危险,一个bug越长越不被发现,它就可能带来更大的隐患。此外,如果测试团队错过了准确详尽地捕捉或识别风险和软件问题,会导致一些灾难发生,那么就需要付出昂贵的代价来检测bug,所以软件漏洞或是Bug可能会导致货币和人员的损失,历史上太多这样的例子,下面我们就来看看这些经典的事例。2015年4月,伦敦彭博终端由于软件漏洞宕机,导致金融市场上超过30万交易商受到影响。迫使政府推迟30亿英镑的债务出售。日产尼桑汽车由于安全气囊感应探测器的软件故障,召回超过100万辆汽车。据报道,由于此软件故障导致两起事故。星巴克咖啡由于POS系统的软件故障无法处理交易,因此被迫关闭了美国和加拿大约60的商店。亚马逊的一些第三方零售商看到他们的产品由于软件故障价格全部被降至1英磅,由此导致惨重损失。Windows 10中的漏洞,此问题使用户能够通过win32系统中的缺陷脱离安全沙箱。2015年,F-35战斗机成为软件漏洞的受害者,导致其无法正确检测目标。1994年4月26日,中国航空公司空中客车A300因软件故障而坠毁,造成264人无辜死亡1985年,加拿大的Therac-25放射治疗机由于软件Bug而发生故障,向患者提供了致命的辐射剂量,造成3人死亡,3人严重受伤。1999年4月,一个软件漏洞导致12亿美元的军事卫星发射失败,这是历史上最昂贵的事故。1996年5月,一个软件问题导致美国一家大型银行823名客户的银行账户被记入9.2亿美元。2018年6月27日,阿里云出现大规模故障,原因为上线自动化运维系统触发未知Bug,导致部分产品访问链接不通,影响时间约半小时,不知道云中的程序猿们年终奖是否会泡汤。1.2 软件测试的理论基础软件测试的定义关于软件测试的定义,不同学者有不同的观点,了解软件测试的定义,对于日后在工作中是很有帮助的,首先要明确测试的定义,所谓测试,就是以检验产品是否满足需求为目标。而软件测试,自然是为了发现软件(产品)的缺陷而运行软件(产品)比较标准的软件测试的定义是:在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估。 IEEE 标准的定义:使用人工或自动的手段来运行或测定某个系统的过程,其目的在于检验;它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。对软件测试还有一些不同的定义。 G.J.Myers给出的定义:“程序测试是为了发现错误而执行程序的过程”。这个定义被软件测试业界所认可,并经常被引用。但实际上,这样的定义还不能完全反映软件测试的内涵,它仍局限于“程序测试”。随后,G.J.Myers进一步提出了有关程序测试的3个重要观点,那就是: (1)测试是为了证明程序有错,而不是证明程序无错误。 (2)一个好的测试用例在于它能发现至今未发现的错误。 (3)一个成功的测试是发现了至今未发现的错误的测试。 要完整地理解软件测试,就要从不同方面和视角去辨证地审视软件测试。概括起来,软件测试就是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中存在的各种问题与用户需求、预先的定义不一致的地方。1.3 研究思路我将运用理论结合实践的方法进行本次研究,打算从测试方法、需求分析、软件项目测试过程进行研究。 1.4 研究架构这篇文章由摘要、绪论、相关技术、需求分析、软件项目测试过程构成,其中摘要是简要论述了这篇文章的形成原因,绪论则是这个研究的背景和意义,软件项目测试过程则需依靠需求分析来完成。 第2章 相关技术2.1 相关技术介绍按阶段划分:单元测试、集成测试、接口测试、系统测试、验收测试按是否查看代码及是否执行程序划分:动态测试、静态测试;黑盒测试、白盒测试、灰盒测试、自动化测试。2.1.1 单元测试(Unit Testing)单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。单元测试又称为模块测试 测试阶段:编码后 测试对象:最小模块 测试人员:白盒测试工程师或开发工程师 测试依据:代码和注释+详细设计文档 测试方法:白盒测试 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试2.1.2 集成测试(Integration Testing)集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。主要目的是检查软件单位之间的接口是否正确。 测试阶段:一般单元测试之后进行 测试对象:模块间的接口 测试人员:白盒测试工程师或开发工程师 测试依据:单元测试的模块+概要设计文档 测试方法:黑盒测试与白盒测试相结合 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响2.1.3 系统测试(System Testing)将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段 测试阶段:集成测试通过之后 测试对象:整个系统(软、硬件) 测试人员:黑盒测试工程师 测试依据:需求规格说明文档 测试方法:黑盒测试 测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等2.1.4 验收测试(Acceptance Testing)验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。总结验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。 测试阶段:系统测试通过之后 测试对象:整个系统(包括软硬件)。 测试人员:主要是最终用户或者需求方。 测试依据:用户需求、验收标准 测试方法:黑盒测试 测试内容:同系统测试(功能及其各类文档)2.1.5 黑盒测试(Black-box Testing)黑盒测试,又称功能测试或者数据驱动测试。是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法。2.1.6 白盒测试(White-box Testing)白盒测试,又称结构测试或者逻辑驱动测试。白盒测试是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。白盒测试是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。2.1.7 灰盒测试(Gray-box Testing)灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。2.1.8 静态测试(Static Testing)静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。 检查项:代码风格和规则审核;程序设计和结构的审核;业务逻辑的审核;走查、审查与技术复审手册。 静态质量:度量所依据的标准是ISO9126。在该标准中,软件的质量用以下几个方面来衡量,即功能性(Functionality)、可靠性(Reliability)、可用性(Usability)、有效性(Efficiency)、可维护性(Maintainability)、可移植性(Portability)。2.1.9 动态测试(Dynamic Testing)动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。2.1.10 自动化测试(Automation Testing)就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,一般不需要人干预,通常在GUI、性能等测试和功能测试中用得较多。通过录制测试脚本,然后执行这个测试脚本来实现测试过程的自动化。自动化测试工具有QTP、Testcomplete、AutoRunner和TAR等。第3章 需求分析功能为国内长途报错3.1 需求详情需求编码:LIBSS-223997故障单号:IT-ZH20180119697922-01故障标题功能为国内长途报错故障现象:【接入号/业务号码话级别:限制呼出呼入,因无法拨打电话需变更为国内长途,前台按正常变更后提示失败。相关数据库及字段DICT_IDDICT_NAMECDMA05限制呼出呼入ATTR_VALUEPRODUCT_NAMECDMA03国际及港澳台长途电话CDMA03国际及港澳台长途电话CDMA02国内长途电话3.2 分析原因:CDMA05这个是省的属性值,集团按理只有这个CDMA03属性值。属性值为这个才返回给集团。92CDMA03国际及港澳台长途电话集团只有这个字段。省内也是配置这个跟集团匹配。3.3 影响范围:珠海3.4 解决方案:(1)程序解决方案:修复程序。(2)临时解决方案: (1)操作方案陈述:无临时解决方法。 (2)数据风险及处理陈述:影响业务受理。 (3)其它风险陈述: 无3.5 分公司/分部联系人及其联系方式:维护人员及其联系方式:3.6 附录(名词解析)1、 产品:电信可以出售的物品,包括实物或虚拟物品,如:普通电话、移动电话、电信卡等;2、 服务:虚拟产品销售后,在CRM受理后形成服务,即有具体的接入号,在CRM上可查询到具体的信息。3、 客户:以人或公司作为个体,不同证件号认为不同的客户,在CRM上每个客户编码代表一个客户。如:张三、A公司,有可能存在同一个名称,不同证件号的情况,在系统上认为是不同的客户。4、 账户:账户是由付款名称+付款银行+付款帐号组成,银行付费的银行帐号、现金都会建成帐户,所有的服务都会与账户关联。5、 一次性费用:在CRM上生成的费用为一次性费用,一次性费用的支付方式可通过业务受理时定制,亦可在收费时修改,支付方式:账务代收、前台现金、银行划扣。6、 话费:产品变成服务后,每月产生的费用称为话费,费用是由CBS每月根据服务的基础费用、使用费等计算出来,根据服务设定的支付方式,每月缴费。现金:前台缴费,银行划后:每月出账后在服务绑定的银行帐号扣费。7、 计费周期:目前除动态月结以外的服务都是以自然月计费,即每月1-31号,此段时间产生的费用,需要在下个缴费周期缴交。8、 缴费周期:每月的4号至下月3号,缴交上个计费周期的费用。举例:3月1日至3月31日产生的费用,在4月4日至5月3日期间缴交,过期的话每月按欠费金额*0.3%计算滞纳金。9、 工号:登陆CRM使用的登陆号称为工号机构:登陆CRM时,显示的是工号所属机构,机构在ITOP增删改,由ITOP下发到本地CRM。岗位:系统权限集,每个工号可对应多个岗位。角色:系统权限最细化,一个或多个角色组成岗位,岗位指定到工号后,即赋予工号使用系统的权限。第4章 软件项目测试过程4.1 测试计划应用部署说明:受理流程:4.2 测试用例用例编码CRMBS_235用例名称码号-固话号码改分派测试条件系统正常步骤操作描述及说明期望结果实际结果1、在CRM进入电话号码管理界面,按号头查询出号码,将其中1条待分派的号码,修改分派机构,提交成功;2、重新查询号码,分派机构正确。1、在CRM进入电话号码管理界面,按号头查询出号码,将其中1条待分派的号码,修改分派机构,提交成功;2、重新查询号码,分派机构正确。功能正常用例编码CRMWEB-YD_086用例名称翼销售,查询-客户视图_在线订单信息查询_android测试条件系统正常步骤操作描述及说明期望结果实际结果翼销售_客户视图_在线订单信息查询功能正常功能正常用例编码CRMWEB-YD_124用例名称翼销售,实时受理-礼包受理-ITV_ios测试条件系统正常步骤操作描述及说明期望结果实际结果1.进行礼包受理-ITV,选择“广东IPTV优惠促销”受理;2.选择宽带互联网视听,订购天翼高清,设置优惠参数,各步骤操作正常;3.能成功提交订单,收费、打印回执。提交成功,功能正常功能正常用例编码CRMWEB-YD_016用例名称翼销售,我的应用-3升4换卡_ios测试条件系统正常步骤操作描述及说明期望结果实际结果选择3升4G-实名客户后进入界,选择号码,验证卡号-输入相关信息-提交订单-确认提交。功能正常功能正常用例编码BSS_005用例名称4G-3G转4G-直接开通4G功能测试条件1、测试号码已是4G卡,存在白名单套餐(ATTR_ID无20002和20000,具备20003或20004)2、测试号码状态正常(无欠费停机、停机保号、挂失)步骤操作描述及说明期望结果实际结果11、在集团4G门户对已有3G套餐号码受理改功能(服务变更),增加4G功能,是否受理成功;2、检查本地CRM,是否生成相应的订单,订单信息是否正确,是否增加4G特性;3、订单竣工归档是否正常; 4、检查套餐实例生效时间:是否按套餐配置生效;1、在集团4G门户对已有3G套餐号码受理改功能(服务变更),增加4G功能,受理成功;2、检查本地CRM,生成相应的订单,订单信息正确,增加4G特性;3、订单竣工归档正常; 4、检查套餐实例生效时间:按套餐配置生效;用例编码BSS_006用例名称4G-4G号码改功能测试条件1、测试号码已办理4G套餐2、测试号码状态正常步骤操作描述及说明期望结果实际结果11、在集团4G门户对测试号码受理改功能业务(服务变更),增加或减少功能业务,是否受理成功;2、检查本地CRM,是否生成相应的订单,订单信息是否正确,4G特性仍然存在;3、订单竣工归档是否正常1、在集团4G门户对测试号码受理改功能业务(服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论