- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测试基础总结
PAGE \* MERGEFORMAT24
测试基础总结
第1章 软件测试基础
1、软件测试概论
1)测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程。
2)软件标准有:
IEEE:(电气和电子工程师协会)是一个国际性的电子技术与信息科学 HYPERLINK /view/25007.htm \t _blank 工程师的协会,是目前全球最大的 HYPERLINK /view/1867460.htm \t _blank 非营利性专业技术学会;
ANSI:美国国家标准学会,是非赢利性质的民间标准化团体;
ISO:国际标准化组织,是国际标准化领域中一个十分重要全球性的 HYPERLINK /view/78357.htm \t _blank 非政府组织。
3)软件测试与软件项目的关系:
软件测试是为软件项目服务的,是为了发现软件中存在的错误,其根本目的是提高软件质量,降低软件项目的风险(QA人员是保证软件质量);软件的质量风险表现为内部风险、外部风险(风险更大)。
软件测试只能证明软件存在错误,而不能证明软件没有错误,(软件公司对软件项目的期望是在预计的时间、合理的预算下,提交一个可以交付的产品),测试目的是把软件的错误控制在一个可以进行产品交付/发布的程度上,可以交付/发布的产品并不是没有错误的产品,而是将错误控制在一个合理的范围内
4)第三方测试是指独立于软件公司自身测试的测试,第三方测试机构是通过自己专业化的测试手段为客户提供有价值的服务。(一般进行的是系统测试)
2、软件测试的定义:
使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。是对软件形成过程中的文档、数据和程序进行的测试。
3、软件测试的目的:一个成功的测试是(发现了至今未发现的错误)的测试。
1)以最小的代价找出软件中潜在的各种错误和缺陷,通过修正错误和缺陷来提高软件质量,回避商业风险;
2)度量与评估软件的质量,为用户选择提供依据;
3)测试是以评价一个程序或者系统属性为目标的活动。通过分析错误,发现开发过程中的缺陷,以便进行改进,并为软件可靠性分析提供依据;
4)通过验收测试(主要由用户组织),证明软件满足了用户的需求,树立用户的信心。
4、软件测试的主要工作:
检视代码、评审开发文档
测试设计、写作测试文档(测试计划、测试方案、测试用例等)
执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷得到了修正
通过测试度量软件的质量
5、软件生命周期
1)计划:确定软件开发总目标,相关设想(功能、性能、可靠性、接口)、方案(项目的可行性,问题的解决方案)、预估(资源、成本,效益,开发进度),制定实施计划。
2)需求分析:对开发的软件进行详细的定义,由需求分析人员和用户共同讨论决定,哪些是可以满足的,并给予确切描述,写出软件需求说明书SRS。
3)设计:设计是软件工程的技术核心。
概要设计(HLD,High level design),在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;
详细设计(LLD,Low level design),对每个模块要完成的工作进行具体的描述。
设计流程:SRS HLD LLD
测试流程:UT IT ST 。
4)编码:写源程序清单,建立数据库。
5)测试:检验软件是否符合客户需求,达到质量要求,一般由独立小组执行,
分为单元测试(UT,参照LLD,对象是每一个函数);
集成测试(IT,参照HLD,函数与函数的集成,模块与模块的集成);
系统测试(ST,参照SRS,整个系统)。
6)运行和维护。(软件修改原因:软件错误、系统软件升级、增强软件功能、提高性能等)
6、项目组架构
7、常见的软件研发流程:
1)瀑布模型:应用最广泛的一种模型,也是最易理解和掌握的。
2)螺旋模型:瀑布模型与快速原型模型结合起来,突出了风险分析。
3)RUP流程: HYPERLINK /view/2235832.htm \t _blank 统一软件开发过程,利用商业的可靠方法开发和部署软件,
是一种重量级过程,特别适用于大型软件团队开发大型项目。
4)敏捷模型:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,
目标是提高开发效率和响应能力。
提交新版本(敏捷)
1、缺陷验证——只针对缺陷现象
2、冒烟测试
3、新功能测试
4、回归测试(非第一次),有无缺陷都叫回归。
迭代:把一个复杂且开发周期很长的开发任务,分解为很多小周期可完
文档评论(0)