




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
测试行业简介软件测试在软件生命周期中占据重要作用。软件生命周期的每个阶段都应该包含测试从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正。由于测试的重要性和复杂度,它慢慢的独立发展成为一个行业,并且在迅猛发展。在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%软件测试概论(概述)1975年,“测试数据选择的原理”(TowardatheoryofTestData)的文章,软件测试才被确定为一种研究方向。1979年,“软件测试是为发现错误而执行一个程序或者系统的过程”1983年,“测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的一种度量”。2002年,“测试是为了度量和提高被测试软件的质量,对测试软件进行工程设计、实施、维护的的整个生命周期过程”。软件测试概论(行情)国外:A、软件测试在软件公司中占有重要的地位B、软件测试理论研究蓬勃发展,引领软件测试理论研究的国际潮流C、软件测试市场繁荣国内:1、我国著名的软件公司都已经或者正在建立独立的专职软件测试队伍2、国家开始对软件测试职业高度重视和认可(软考中级资格中增加软件评测师)软件测试概念什么是软件测试
软件测试(Softwaretesting)是软件开发过程中的一个重要组成部分,是贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早的发现在软件产品中所存在的各种问题——与用户需求、预先定义的内容是否存在不一致性。软件测试的目的和原则
基于不同的立场,存在着两种完全不同的测试目的:用户角度:希望软件测试暴露软件中隐藏的错误和缺陷,以考虑是否接受产品。软件开发者角度:希望测试成为表明软件产品中不存在错误的过程,验证被测软件已正确的实现了用户的需求,确立人们对软件质量的信心。软件测试的目的和原则换言之,测试的目的是:想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分析提供了依据测试不能表明软件中不存在错误,它只能说明软件中存在错误软件测试的目的和原则测试的原则是:所有的软件测试都应追溯到用户需求。应当把“尽早地和不断地进行软件测试”作为软件测试者的座右铭。完全测试是不可能的,测试需要终止。(原因1:输入量太大。原因2:输出结果太多原因。3:路径结合太多。)根据测试错误的概率以及软件可靠性要求,确定最佳停止测试时间。测试无法显示软件潜在的缺陷。也就是说测试只能证明软件存在错误而不能证明软件没有错误。尽量避免测试的随意性。软件测试的对象软件包括哪些?
软件包括程序,数据和文档。软件测试的对象: 软件的测试不仅仅是程序的测试,软件的测试应贯穿于整个软件生命同期中。 在软件定义阶段产生的可行性报告、项目实施计划、软件需求说明书或系统功能说明书 在软件开发阶段产生的概要测试说明书、详细设计说明书,以及源程序等都是软件测试的对象软件测试分类按照软件开发阶段分
单元测试(也叫模块测试)、集成测试(组装测试)、系统测试和验收测试按照测试实施组织分
开发方测试(也叫验证测试,阿尔法测试)、用户测试(贝塔测试)和第三方测试(独立测试);
按照测试技术分
白盒测试、黑盒测试和灰盒测试;黑盒测试又叫功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试类别注重于测试软件的功能性需求。测试工程师无需了解程序代码的内部构造,完全模拟软件产品的最终端用户使用该软件,检查软件产品是否达到了用户的需求。黑盒测试能更好的从用户角度来考察被测系统的功能性需求实现情况。软件测试分类(黑盒测试)图1-4黑盒测试示例图是否有不正确的或者遗漏了的功能?在接口上,输入是否正确地接受?能否输出正确的结果?是否有数据结构错误或者外部信息(如数据文件)访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?黑盒测试图1-4黑盒测试示例图黑盒测试主要是为了发现以下几类错误:软件测试分类(白盒测试)图1-4黑盒测试示例图白盒测试的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序结构和处理过程。白盒测试又称结构测试、逻辑驱动测试或基于程序代码内部构成的测试。白盒测试需要测试工程师深入考查程序代码的内部结构、逻辑设计等。程序内部结构测试用例测试结果图1-5白盒测试示例图对程序模块的所有独立的执行路径至少测试一次。对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测试一次。在循环的边界和运行界限内执行循环体测试内部数据结构的有效性等。白盒测试图1-4黑盒测试示例图使用白盒测试方法,主要是想对程序模块进行如下的检查:白盒测试与黑盒测试的比较:图1-4黑盒测试示例图软件测试分类(灰盒测试)图1-4黑盒测试示例图程序内部结构测试用例测试结果图1-5白盒测试示例图灰盒测试介于白盒和黑盒测试之间。灰盒测试一方面考虑程序代码的功能性表现,另一方面,又需要考虑程序代码的内部结构。通俗地讲,灰盒测试就是白加黑。软件测试模型(一)V模型: 其局限性表现在把测试作为软件开发的最后一个阶段,是串行完成的;主要是针对程序进行测试寻找错误,而需求分析阶段隐藏的问题到后期的验收测试才被发现;软件测试模型(二)W模型: 优点是测试与开发过程是同步进行的,有利于测试的及早介入与执行; 缺点是对开发阶段需要有明确的起点和终点,这点在实际情况中很难做到这点;测试的过程图1-4黑盒测试示例图程序内部结构测试用例测试结果图1-5白盒测试示例图单元测试(又叫模块测试)主要内容: 模块接口;局部数据结构测试;路径测试;错误处理测试;边界测试;单元测试用到的辅助模块:驱动模块(所测模块的主程序)和桩模块(存根模块)集成测试(又叫组装测试或联合测试)
渐增式组装方式:
自顶向下的增殖方式
自底向上的增殖方式集成测试完成的标志:成功的执行了测试计划中规定的所有集成测试修正了所有发现的错误测试结果通过了专门小组的评审
确认测试; 确认测试的内容:进行有效性测试和软件配置复查。系统测试:
系统测试的主要目的是检查系统是否符合软件需求
系统测试采用黑盒测试方式
系统测试主要内容有:功能测试,性能测试,用户界面测试,安全性测试,可靠性测试,安装/反安装测试等。
为了保证测试的客观性,一般由独立的测试小组来执行系统测试。验收测试:
验收测试是由用户完成的测试。
验收测试的内容与系统测试的内容类似。
验收测试可以分成Alpha测试和Bata测试。Bug的生命周期:图1-4黑盒测试示例图程序内部结构测试用例测试结果图1-5白盒测试示例图性能测试图1-4黑盒测试示例图为什么要做性能测试?➤
Doestheapplicationrespondquicklyenoughfortheintendedusers?
你的应用程序的响应时间足够快吗?
➤
Willtheapplicationhandletheexpecteduserloadandbeyond?
你的应用程序能轻松应付那么多的用户负载吗?
➤
Willtheapplicationhandlethenumberoftransactionsrequiredbythebusiness?
你的应用程序能处理那么多业务所需的事务吗?
➤
Istheapplicationstableunderexpectedandunexpecteduserloads?
在预期的用户压力下,你的应用程序足够稳定吗?在超出预期的用户压力下呢?
➤
Areyousurethatuserswillhaveapositiveexperienceongo-liveday?
你能确定用户在使用你的应用程序时会得到好的体验吗?性能测试图1-4黑盒测试示例图性能测试的含义:通过自动化测试工具模拟生产运行的业务压力或用户使用场景来测试系统的性能是否满足生产性能的要求。性能测试的目的:评估系统的能力识别系统的弱点系统调优验证稳定性、可靠性性能测试图1-4黑盒测试示例图通用性能测试过程模型GAME(A):性能测试图1-4黑盒测试示例图GAME(A)模型的优势:第一,灵活,每个过程都有自己的关注点,可以根据不同的项目特点增加或删除关注点;第二,通用,不依赖于具体的工具。目前GAME(A)关注性能测试技术,比较简单,将来可以进行扩展,同样使用GAME(A)模型关注性能测试的时间、人力等资源问题。性能测试图1-4黑盒测试示例图性能测试策略:
负载测试(LoadTesting)压力测试(StressTesting)并发测试(ConcurrencyTesting)稳定性测试(StabilityTesting)……性能测试图1-4黑盒测试示例图负载测试(LoadTesting)
负载测试主要考察软件系统在既定的负载下的性能表现,可以有如下理解:
(1)负载测试是站在用户的角度去观察在一定条件下软件系统的性能表现;
(2)负载测试的预期结果是用户的性能需求得到满足,此指标一般体现为响应时间、交易容量、并发容量、资源使用率等。性能测试图1-4黑盒测试示例图压力测试(StressTesting)压力测试和负载测试不同的是,压力测试的预期结果就是系统出现问题,而我们要考察的是系统处理问题的方式。比如说,我们期待一个系统在面临压力的情况下能够保持稳定,处理速度可以变慢,但不能系统崩溃。因此,压力测试是能让我们识别系统的弱点和在极限负载下程序将如何运行。性能测试图1-4黑盒测试示例图并发测试(ConcurrencyTesting)验证系统的并发处理能力。一般是和服务器端建立大量的并发连接,通过客户端的响应时间和服务端的性能监测情况来判断系统是否达到了既定的并发能力指标。负载测试往往就会使用并发来创造负载,之所以把并发测试单独提出来,是因为并发测试往往涉及服务器的并发容量,以及多进程/多线程协调同步可能带来的问题。这是特别注意,必须测试的。性能测试图1-4黑盒测试示例图稳定性测试(StabilityTesting)性能测试的稳定性,即测试系统在一定负载下运行长时间后是否会发生问题。软件系统的有些问题是不能一下子就暴露出来的,或者说是需要时间积累才能达到能够度量的程度。比如,内存泄露问题是经过时间积累才会慢慢变得显著,运行初期很难检测出来。主要性能指标图1-4黑盒测试示例图响应时间反映系统处理效率指标响应时间是从开始到完成某项工作所需时间的度量。在客户/服务器环境中,通常是从客户方测量响应时间。响应时间通常随负载的增加而增加。吞吐量反映系统处理能力指标吞吐量是单位时间内完成工作的度量,在客户/服务器环境中通常是从服务器方进行评估。随着负载的增加,吞吐量往往增长到一个峰值后,然后下降,队列变长。在如客户/服务器这样的端到端系统中,吞吐量依赖于每个部件的运行。系统中最慢的点决定了整个系统的吞吐率。通常称此慢点为瓶颈。资源利用率:反映系统能耗指标从世界各地多个地点,使用真正的浏览器(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年干事个人工作总结(15篇)
- 学校行政人事工作总结(4篇)
- 幼儿园心理健康辅导培训心得体会(3篇)
- 保安个人年终工作总结(5篇)
- 小学语文人教部编版三年级上册语文园地教学设计及反思
- 四川省宜宾市南溪二中高二体育《排球》教学设计 新人教版
- 中专自我鉴定300字(18篇)
- 元旦安全教育主题班会心得体会(14篇)
- 2025安全出行演讲稿范文(19篇)
- 上海时尚高端大气住宅景观设计方案
- 出租屋转租补充协议书范文范本
- 2024年海南省高考地理试卷(含答案)
- 2024年2个居间人内部合作协议书模板
- 【企业盈利能力探析的国内外文献综述2400字】
- 两位数加一位数和整十数(不进位) 1000题
- 《2008辽宁省建设工程计价依据执行标准》大建委发200875号
- TSDLPA 0001-2024 研究型病房建设和配置标准
- 2023年宿迁市洋河新区“返乡兴村”新村干招聘考试真题
- 机器人自主导航与定位技术测试考核试卷
- 山东省建设施工企业安全生产许可证变更审核表
- 对公 雅思培训合同范本
评论
0/150
提交评论