《我所了解的软件测试》.doc

上传人:M****1 文档编号:546396801 上传时间:2023-02-14 格式:DOC 页数:5 大小:40.51KB
返回 下载 相关 举报
《我所了解的软件测试》.doc_第1页
第1页 / 共5页
《我所了解的软件测试》.doc_第2页
第2页 / 共5页
《我所了解的软件测试》.doc_第3页
第3页 / 共5页
《我所了解的软件测试》.doc_第4页
第4页 / 共5页
《我所了解的软件测试》.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《《我所了解的软件测试》.doc》由会员分享,可在线阅读,更多相关《《我所了解的软件测试》.doc(5页珍藏版)》请在金锄头文库上搜索。

1、我所了解的软件测试软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件品质,并对其是否能满足设计要求进行评估的过程。软件测试描述一种用来促进鉴定软件的 正确性、完整性、安全性、和品质的过程。据此,您可能会想,软件测试永远不可能完整的确立任意计算机软件的正确性。然而,在可计算理论计算机科学的一个支派一个简单的数学证明推断出下列结果:不可能完全解决所谓“当机”(指任意计算机程序是否会进入 无限循环、或者罢工并产生输出) 问题。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试有许多方法,但对复杂的产品运行有效测试不仅仅是研究过程,更是创造并严格遵守某些

2、呆板步骤的大事。测试的其中一个定义:“为了评估而质疑产品的过程”这里的“质疑”是测试员试着对产品做的事,而产品以测试者脚本行为反应作为回答。虽然大部分测试的智力过程不外乎回顾、检查,然而“测试”这个辞意味着产品动态分析让产品流畅运行。程序品质可能,而且通常会,随系统不同而有差异;不过某些公认特性是共通的:可靠性、稳定性、轻便性、易于维护、以及实用性。一、测试的进程ALPHA测试Alpha测试通常是阶段性的开发完成后所开始进行,一直持续到进入Beta测试阶段前的阶段。在这个阶段中,通常是在软件由潜在用户/客户或一个独立的测试团队,采用现成软件,以模拟或实际操作性的黑盒测试和灰盒测试进内联部验收测

3、试。BETA测试当Alpha阶段完成后,开发过程进入到Beta阶段。在Beta阶段,用于Beta测试的产品被发布(release)到一部分受控制的公司外部人员手中,通过这部分受控制的外部人员的测试和反馈,Beta阶段可以尽量发现产品中存在的缺陷和错误。在某些情况下,Beta版本可能被发放到范围更广的外部人员手中(例如,通过网站下载或是其他方式面向公众发放)。Beta阶段的测试主要使用黑盒测试技术。当然,在Beta阶段,测试人员仍然可以使用白盒测试技术对产品继续进行测试,但我们一般不认为这些测试是Beta测试的一部分。简单来说,我们认为Beta测试就是由一部分受控制的客户进行的黑盒测试。GAMM

4、A测试Gamma测试是一个很少被提及的非正式测试阶段,该测试阶段对应的是对“存在缺陷”产品的测试。考虑到任何产品都可以被称为“存在缺陷”的产品(测试只能发现产品中存在的问题,不能说明产品不存在问题),因此这个概念存在一定的不确定。对Alpha和Beta测试常见的一个认识误区是“Beta测试黑盒测试”。实际上,Alpha和Beta测试对应在软件产品发布之前的Alpha和Beta阶段,而白盒、黑盒和灰盒测试技术是从技术和方法层面对测试的描述,不应该将这两部分概念混淆。二、测试的方法黑盒测试这种测试不需要了解软件的内部构造,是从用户的角度对程序进行的测试,只知道程序的输入(将测试数据输入软件)、输出

5、(确认输出结果是否正确)和系统的功能就可以,因此被称为黑盒测试。黑盒测试包括:功能测试、系统测试(极限值测试、数据驱动测试或基于规格说明的测试等)。白盒测试白盒测试又称为结构测试和逻辑驱动测试。 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。三、测试的类型功能测试 按照测试软件的各个功能划分进行有条理的测试,在功能测试部分要保证测试项覆盖所有功能和各种功能条件组合。 系统测试 对一个完整的软件以用户的角度来进行测试,系统测试和功能测试的区别是,系统测试利用的所有测试数据和测试的方法都要模拟成和用户的

6、实际使用环境完全一样,测试的软件也是经过系统集成以后的完整软件系统,而不是在功能测试阶段利用的每个功能模块单独编译后生成的可执行程序。 极限值测试 对软件在各种特殊条件,特殊环境下能否正常运行和软件的性能进行测试。特殊条件一般指的是软件规定的最大值,最小值,以及在超过最大,小值条件下的测试。特殊环境一般指的是软件运行的机器处于CPU高负荷,或是网络高负荷状态下的测试,根据软件的不同,特殊环境也有过不同。 性能测试 性能测试是对软件性能的评价。简单的说,软件性能衡量的是软件具有的响应及时度能力。因此,性能测试是采用测试手段对软件的响应及时性进行评价的一种方式。根据软件的不同类型,性能测试的侧重点

7、也不同。 压力测试与性能测试 压力测试常常和性能测试相混淆。它们主要不同点是,压力测试要求进行超过规定性能指标的测试。例如一个网站设计容量是100个人同时点击,压力测试就要是采用120个同时点击的条件测试。压力测试的通常判断准则:系统能够恢复,压力过程中不要有明显性能下降 。四、测试的阶段单元测试 单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。单元测试主要是用来检验程式的内部逻辑,也称为个体测试、结构测试或逻辑驱动测试。通常由撰写程式码的程式设计师负责进行。通常来说,程式设计师每修改一次程式就会进行最少一次单元测试,在编写程式的过程中前后很可能要进行多

8、次单元测试,以证实程式达到软件规格书要求的工作目标,没有臭虫;虽然单元测试不是什么必须的,但也不坏,这牵涉到专案管理的政策决定。集成测试 集成测试又称组装测试,即对程序模块采用一次性或增殖方式组装起来,对系统的接口进行正确性检验的测试工作。集成测试一般在单元测试之后、系统测试之前进行。系统测试 系统测试主要包括功能测试、界面测试、可靠性测试、易用性测试、性能测试。 功能测试主要针对包括功能可用性、功能实现程度(功能流程&业务流程、数据处理&业务数据处理)方面测试。回归测试 回归测试指在软件维护阶段,为了检测代码修改而引入的错误所进行的测试活动。回归测试是软件维护阶段的重要工作,有研究表明,回归

9、测试带来的耗费占软件生命周期的1/3总费用以上。与普通的测试不同,在回归测试过程开始的时候,测试者有一个完整的测试用例集可供使用,因此,如何根据代码的修改情况对已有测试用例集进行有效的复用是回归测试研究的重要方向,此外,回归测试的研究方向还涉及自动化工具,面向对象回归测试,测试用例优先级,回归测试用例补充生成等。五、软件测试的其他方面从业人员的发展前景 软件测试工程师软件测试工程师简单的说是软件开发过程中的质量检测者和保障者,负责软件质量的把关工作。软件测试工程师(Software Testing Engineer)的主要工作职责是,理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bu

10、g),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。工作内容1、编写软件测试计划,设计软件测试脚本和用例,搭建软件测试环境; 2、执行软件项目测试,包括功能测试、性能测试、易用性测试等; 3、整理、分析、报告并追踪软件缺陷,并确认软件测试问题得以解决; 4、撰写软件测试结果分析报告,预先评估项目的风险,编写其它相关文档; 5、结合研发软件产品项目情况,制定相应的软件、项目版本控制制度。 至少是一名软件开发工程师 软件测试技术主管 软件测试设计师 测试主管 测试

11、管理者 项目主管 产品发布主管外包软件测试外包软件测试就是指软件企业将软件项目中的全部或部分测试工作,交给提供软件外包测试服务的公司,由他们为软件进行专门的测试。这样做的好处有两个:一方面软件企业可以更好地专注核心竞争力业务,同时降低软件项目成本;另一方面,由第三方专业的测试公司进行测试,无论在技术上还是管理上,对提高软件测试的有效性都具有重要意义。外包软件测试行业前景非常看好,发展空间很大。IDG的数据显示,最近几年,中国的软件外包产业年均增长率为36.5%,正处于快速发展的阶段,2008年预计已达到16.9亿美元的市场规模。目前韩日、欧美国家的软件企业纷纷关注中国市场,而作为软件外包强国的

12、印度,在其国内处于前几位的软件外包服务商也准备来“分一杯羹”。从目前市场来看,选择将部分软件测试工作进行外包的公司主要是微软、IBM等国际软件旗舰企业,他们利用第三方专业软件测试公司,在产品发布前对软件进行一系列的集成测试和系统测试,即保证了测试工作的全面性,又节省了人力、物力的开销。最重要的是,测试结果往往好于这些软件企业最初的预期,效果非常令人满意。软件企业和提供软件外包测试服务的公司进行合作,只要达成双赢,两方皆大欢喜,这样的合作就会越来越多,项目也会越做越大。主要业务类型本地化软件测试国际化软件测试主要测试的范围本地化语言质量测试国际化软件的功能和性能测试测试工作主要方式公司内部(In

13、 house)执行的测试派驻客户开发中心的现场测试(On site)。测试工具介绍AutoRunner 是国内第一款自动化测试工具,可以用来完成功能测试、回归测试、每日构建测试与自动回归测试等工作。是具有脚本语言的、提供针对脚本完善的跟踪和调试功能的、支持IE测试和Windows native测试的自动化测试工具。TestCenter 是一款功能强大测试管理工具,它可以帮助您:实现测试用例的过程管理,对测试需求过程、测试用例设计过程、业务组件设计实现过程等整个测试过程进行管理。实现测试用例的标准化即每个测试人员都能够理解并使用标准化后的测试用例,降低了测试用例对个人的依赖;提供测试用例复用,用

14、例和脚本能够被复用,以保护测试人员的资产;提供可伸缩的测试执行框架,提供自动测试支持;提供测试数据管理,帮助用户同意管理测试数据,降低测试数据和测试脚本之间的耦合度。TAR(Terminal AutoRunner)适用于VT100、VT220等标准的应用系统,支持命令行模式和窗口模式(使用Cursors编写的应用程序),支持自动录制脚本、所见即所得的资源和脚本编辑,稳定的自动同步功能。是目前国内最好的银行业务测试工具.LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner , 企业能最大限度地缩短测试时间, 优化性能和加速应用系统的发布周期。目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢, 系统崩溃等问题。这些都不可避免地导致公司收益的损失。六、参考1.维基百科2.百度百科

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

当前位置:首页 > 生活休闲 > 社会民生

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