软件工程论文【精选文档】

上传人:大米 文档编号:556223569 上传时间:2023-08-09 格式:DOC 页数:21 大小:84.50KB
返回 下载 相关 举报
软件工程论文【精选文档】_第1页
第1页 / 共21页
软件工程论文【精选文档】_第2页
第2页 / 共21页
软件工程论文【精选文档】_第3页
第3页 / 共21页
软件工程论文【精选文档】_第4页
第4页 / 共21页
软件工程论文【精选文档】_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《软件工程论文【精选文档】》由会员分享,可在线阅读,更多相关《软件工程论文【精选文档】(21页珍藏版)》请在金锄头文库上搜索。

1、软件工程论文【精选文档】 河南理工大学 万方科技学院软件工程论文 题 目: 软件测试 专 业: 计算机科学与技术专升本 姓 名: 刘轶男 学 号: 1516353011 指导老师: 马永强 目 录摘要11.绪论21。1软件测试的目的21.2 相关背景21。3 软件测试过程31.4 软件测试团队的地位32。软件测试基础52。1软件测试的定义52。2软件测试概念52。3软件测试原则53.软件测试分类73。1白盒测试和黑盒测试73.2 静态测试和动态测试103。3单元测试和集成测试113.4其他测试方法144。软件测试工具154.1常用的软件测试工具154.2软件测试工具网站155.缺陷管理165。

2、1什么是Bug?165。2 Bug的分类165。3缺陷报告176.总结和思考18参考文献19摘 要随着IT行业的迅速发展,计算机使用越来越普及,越来越多的领域使用了计算机,特别是一些重要领域如国防、银行、金融、通讯、航天等,他们对软件质量要求很高。同时一些重大事故的发生,也引发了人们对软件质量的关注.如2002年欧洲载重10吨的阿丽亚娜5型火箭发射失败,最后证实是软件质量问题;还有国内的一些银行金融系统,因软件质量问题不得不暂停营业.毋庸置疑,在经历了长期的不为人知和可有可无后,软件测试目前已变的炙手可热。随着中国软件市场的发展,越来越多的国外资金投向中国软件行业.据报道,中国软件外包市场的潜

3、力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈.国家为了大力培养软件人才,不断采取积极有效的措施。软件测试是个需求高,就职机会大的职业.目前,我国具备软件测试能力的人员数量和市场需求相差巨大,巨大的市场空缺,使软件测试工程师从初级到高级,只需要 1 年甚至更短的时间来完成。所以软件测试行业,未来的发展空间是非常广阔的。关键字:软件测试71。绪论1.1软件测试的目的随着人类社会的进步,各种领域计算机的普及,软件测试在计算机领域占据着不可替代的角色,计算机软件也越来越多的出现在各个场合,为人们的办公,生活,学习,休闲等提供了前所未有的方便,但不能保证计算机软件

4、能一步到位的满足人们的需求,所以就有了软件测试。软件测试的目的是:第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。作为计算机专业的学生,我想以我自己的观点来阐述一下我对软件测试的理解.1。2 相关背景实际上,测试贯穿于整个软件开发生命周期(SDLC),从需求评审、设计评审开始,就介入到软件产品的开发活动或软件项目的实施中。如图1表示,测试和开发构成一个全过程的交互、协作的关系,两者自始至终一起工作,共同致力于完成同一个目标-按时、高质量地完成项目.需求分析定义系统、架构设

5、计验收测试执行义系统测试执行功能测试执行详细或程序设计编码单元测试交互合作交互协作、缺陷修正交互协作、缺陷修正验收测试用例设计系统测试用例设计和环境准备功能测试用例设计设计技术复审需求评审设计规格说明书复审软件测试与SDLC的关系1。3 软件测试过程软件测试的全过程,其中主要的里程碑有:l 产品需求文档(PRD)或市场需求文档(MRD)的评审和签发;l 产品需求规格说明书(Spec)的评审和签发;l 测试计划、测试计划书的评审和签发;l 测试用例的设计、的评审和签发;l 功能测试;l 系统测试;l 验收测试。立项阶段设计阶段编码&单元测试阶段系统测试阶段集成测试阶段结项总结阶段验收测试阶段需求

6、阶段图1.软件测试总体流程图 1。4 软件测试团队的地位在软件开发过程中,有各种各样的人员参与,包括项目经理、产品经理、UI(用户界面)设计人员、文档人员等,但最大的两个团队就是测试团队和开发团队(有设计人员/程序人员组成),也就是说,一个软件公司,测试人员和程序员,占有最大比重。可见,软件测试团队的地位应该举足轻重.2.软件测试基础2。1软件测试的定义简单的说,软件测试就是发现系统需求定义、系统设计、程序代码和文档中的缺陷,但这仅仅是不够的,究竟什么是软件测试呢?G。J.Myers给出的定义:“程序测试是为了发现错误而执行程序的过程”。这个定义被软件测试界所认可,随后G.J.Myers又进一

7、步提出了有关程序测试的3个重要观点,那就是:(1)测试是为了证明程序有错,而不是证明程序无错误。(2)一个好的测试用例在于它能发现至今未能发现的错误。(3)一个成功的测试是发现了至今未发现的错误的测试。2。2软件测试概念测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求.软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right);第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息;第三软件测试不

8、仅是在测试软件产品的本身,而且还包括软件开发的过程.如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。2。3软件测试原则软件测试原则一: (1)所有的测试都应追溯到用户需求。正如我们所知:软件测试的目标在于揭示错误.而最严重的错误(从用户角度来看)是那些导致程序无法满足需求的错误。 (2)应该在测试工作真正开始前的较长时间内就进行测试计划。测试计划可以在需求模型一完成就开始,详细的测试用例定义可以在设计模型被确定后立即开始。因此,所有测试应该在任何代码被产生前就进行计划和设计。 (3)Pareto 原则应用于软件测试.简单地讲, Pareto 原则暗示着测试发现

9、的错误中的 80 很可能起源于程序模块中的 20 。当然,问题在于如何孤立这些有疑点的模块并进行彻底的测试。 (4)测试应从 小规模 ” 开始,逐步转向 ” 大规模 ” .最初的测试通常把焦点放在单个程序模块上,进一步测试的焦点则转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。 (5)穷举测试是不可能的。即使是一个大小适度的程序,其路径排列的数量也非常大.因此,在测试中不可能运行路径的每一种组合。然而,充分覆盖程序逻辑,并确保程序设计中使用的所有条件是有可能的。 (6)为了达到最佳效果,应该由独立的第三方来构造测试。 ” 最佳效果 ” 指最有可能发现错误的测试(测试的主要目标),所以创

10、建系统的软件工程师并不是构造软件测试的最佳人选. (7)不充分的测试是不负责任的;过分的测试是一种资源的浪费,同样也是一种不负责任表现。软件测试原则二:(1)应当把”尽早和不断的测试作为开发者的座右铭。 (2)程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。 (3)设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。 (4)一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。 (5)对测试错误结果一定要有一个确认的过程,一般有A测试出来的错误,一定要有一个B来

11、确认,严重的错误可以召开评审会进行讨论和分析。 (6)制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。 (7)回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。 (8)妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档3。软件测试分类随着软件测试技术的发展,测试方法更加多样化,针对性更强;选择合适的软件测试方法可以让我们事半功倍。以下是一些常用的软件测试方法: (1)从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为:白盒测试和黑盒测试。(2)从是否需要执行被测软件的角度,可分为:静

12、态测试和动态测试.3。1黑盒测试和白盒测试黑盒测试是指不考虑程序的内部结构和内部特性,而是从用户的观点出发,针对程序接口和用户界面进行测试。黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:(1)功能不正确或遗漏功能;(2)界面错误;(3)数据结构错误或外部数据库访问错误;(4)性能错误;(5)初始化或终止性错误。用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。但这是不可能的。n假设一个程序P有输入量X和Y及输出量Z.在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:n可能采用的测试数据组:23223

13、2 264n如果测试一组数据需要1毫秒,一年工作36524小时,完成所有测试需5亿年。黑盒测试的测试用例设计:等价划分法、边界值法、错误推测法、因果图法.1.等价类划分1等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。2等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。3使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步.4划分等价类:等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.测试某等价类的代

14、表值就等价于对这一类其它值的测试. 等价类的划分有两种不同的情况: 有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。 无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。 2。边界值分析边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。 人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。比如,在做三角形计算时,要输入三角形的三个边长:A、B和C。 我们应注意到这三个数值应当满足 A0、B0、C0、ABC、ACB、BCA,才能构成三角形。但如果把六个不等式中的任何一个大于号“”错写成大于等于号“,那就不能构成三角形。问题恰出现在容易被疏忽的边界附近.这里所说的边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据. 3。错误推测法 人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号