软件测试在软件开发中应用探讨.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试在软件开发中应用探讨

软件测试在软件开发中应用探讨   摘 要: 现今软件开发的规模越来越大,作为软件开发的重要环节,软件测试越来越受到人们的重视,软件测试的重要性更加突出,主要探讨对软件测试在软件开发各个阶段中的作用和策略的几点认识。   关键词: 软件测试;软件生命周期;缺陷   中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2011)1120156-02      1 背景   在过去的半个多世纪,软件获得了空前的发展,逐渐渗透到各个领域,从生产到生活,从工业到农业等,软件无处不在,改变了人类生产和生活的方式。随着计算机软件在各行各业的普及应用,人们对软件质量的要求也越来越高,软件的专业化和多样化特点越来越显著。   软件质量一直是软件工程的一个焦点,是人们不断研究、和探索的领域。为了改善软件质量,不仅从软件过程模型、需求工程、设计模式等不同方面来获取有效的方法和实践,而且开始重视软件测试,在软件测试上有更多的考虑和投入。虽然质量是内建的,但软件测试依旧承担着非常重要的作用。软件测试自身也在发生变化,已经不再只充当门卫――仅在软件发布之前进行检验,而是正在形成一个持续的反馈机制,贯穿软件开发的整个过程,以便尽早的发现问题,降低开发成本,提高软件开发生产力。   2 软件生命周期和软件测试   一个人要经过胎儿、儿童、青年、中年、老年,直到最终死亡的生命周期。一个软件同样有一个从定义、开发、使用和维护,直到最终被废弃的生命周期。在软件的生命周期中,需要完成许多性质各异的工作,这就要求把软件生命周期划分成若干个阶段,并相应地制定出切实可行的计划,然后按照计划对软件的开发与维护工作进行管理。软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的过程称为软件生命周期。软件的生命周期通常划分为五个阶段:需求分析、系统设计、编码实现、软件测试、运行维护。   软件测试(Software testing)是软件生命周期中的一个重要组成部分,是软件质量保证的关键步骤。1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。   从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷的过程。   3 软件测试在软件开发中的应用   随着软件测试在软件开发过程中越来越受到重视,软件测试人员不再是软件开发的辅助人员,而是软件开发团队的主体之一。从项目开始的第一天,测试人员就参与项目需求和设计的讨论、评审等各项活动,尽早发现软件需求定义和设计实现上的问题,及时发现软件项目中存在的质量风险。软件测试贯穿整个软件生命周期,从需求评审、设计评审开始,就介入到软件产品的开发活动或软件项目的实施中,和其他开发团队相互协作、相互补充,共同构成软件生命周期中的有机整体。软件测试和软件生命周期的关系如下图1所示。         图1 软件测试和软件开发的关系   以下从软件生命周期的五个阶段,来探讨软件测试在软件开发中应用。   3.1 测试在软件需求分析阶段的工作和策略   软件测试工程师在需求分析阶段的主要工作有:了解需求分析、评估大约工作量、评估软件测试风险及可能性、接受或拒绝需求分析中的功能。   需求分析是理解客户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。软件测试工程师需要与开发人员一起将客户的功能需求语言转换成计算机语言,然后评估在当前技术条件下能否实现该需求。   在了解了软件需求以后,软件测试工程师必须对需求分析做工作量评估,评估该软件功能测试所需的时间,再将这个时间和软件开发所需的时间进行统计和合并,以此来估算整个软件所需的时间。然后把整个软件所需的时间与产品经理要求的时间进行对比,如果所需的时间比产品经理要求的时间长很多,则有必要和产品经理就时间问题进行商议,最终达成一致结果。   在完成软件的需求分析后,如果有部分功能在当前技术条件下无法实现或很难实现,则需要和产品经理沟通,讨论是否将该功能从当前版本中删除;如果评估的工作量比实际所需时间长,而且大于市场能够接受的范围,则有必要向产品经理提出将暂时不急需的功能从本版本中删除,这就是接受或拒绝需求分析中的功能。   做任何事都是有风险的,软件项目也不例外。软件测试工程师

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档