1. 软件生命周期:软件生存周期包括计划、开发、运行三个时期 2. 瀑布模型:计划,需求分析,设计,编码,测试,运行。维护。
概念:瀑布模型就是指把从软件的生命周期分成固定的几个顺序链接的阶段工作,是从上向下没有分支的和反复的阶段出现。每一个阶段结束时,由固定的角色来决定是否进入下一步。 3. 瀑布模型优缺点;
瀑布模型有以下优点:1)为项目提供了按阶段划分的检查点。 2)当前一阶段完成后,您只需要去关注后续阶段。 3)可在迭代模型中应用瀑布模型 瀑布模型有以下缺点:
(1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
(2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险; (3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。 4. 螺旋模型
概念:因为有螺旋就意味着反复。
螺旋模型的实质是在开发过程中,开始不必详细定义所有细节,在过程中,先定义主要功能,然后努力实现,在实现后,接受客户反馈,然后进入下一个阶段,重复上述过程,直到拿到最终产品。在每次重复的过程中,都分为了6个步骤。 a.先确定目标,可选方案和限制条件 b.指出并解决风险 c。评估方案 d。本阶段开发和测试
e。计划下一阶段 f。确定进入下一阶段的方法 在这种模型中,测试贯穿于开发的过程中,使得测试的结果可以尽早影响产品,不至于像瀑布模型一样,都堆到最后,匆匆忙忙的进行测试,测试的结果最终页无法保证。
螺旋模型的好处:强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。螺旋模型的缺点:(1)螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。
(2如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此螺旋模型只适合于大规模软件项目。 (3) 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险。 5. 软件生命测试周期:制定测试计划,测试设计开发,实施软件测试,评审,版本发布。迭代过程 软件生命测试周期:制定测试计划,测试设计开发,实施软件测试,评审,版本发布。(迭代过程)
第一个阶段:测试计划阶段 主要是需要对进行的测试工作作一个整体的规划,包括测试的目的,怎么测,测试中需要哪些资源,测试中将产生哪些文档,每一个里程碑如何定义,以及是否需要评审,啥时候评审等等。 (这个阶段对应着软件实施过程中的需求分析阶段) 第二个阶段:测试设计和开发阶段
主要是对照上个阶段中完成的需求分析文档和上个阶段中测试用例的设计方案(不是具体写测试用例)来进行一些开发和设计工作,其中包括,测试用例的设计,测试数据的准备,测试工具的开发,测试脚本的录制和编写等工作,这个工作会一致持续到软件测试的工作结束。( 这个阶段对照着开发中的设计阶段。) 第三个阶段:实施测试
这个阶段是把我们在开发设计阶段中的用例和数据应用于实际的软件中进行测试的过程。同时,根据我们前面说过的测试生命周期,它还会对前两个阶段的内容进行补充。(这个对应着开发中的编码阶段。) 第四个阶段:测试评估阶段
这个阶段主要是对测试工作进行总结,对缺陷进行分析,对测试过程进行评估。这个阶段主要是通过对数据的分析来对开发的过程提出改进意见。
? 在这个阶段,我们测试人员可以积累一些经验,什么经验呢?就是可以对相似开发体系的软件,找出最容易
出错的地方,为自己也为开发提供帮助。 7.计划内容:测试计划一般由经理编写
(1) 测试的目的,这里所说的测试目的,是指这篇测试计划文档要达到的目的。
(2) 测试项目进行调研。要让测试工作取得成功,就必须完全了解这个项目,了解它的应用领域,开发背景,主要
功能以及使用范围。
在产品调研的过程中,重点需要了解:
1.产品规格:包括产品名称,制造商和版本号
2.产品信息:使用产品的用户是哪些,开发这个产品时的背景是什么。 3.技术结构:介绍产品的主要功能,通常都是一些图表。
(3)说明测试时我们需要的以及我们需要提交的文档有哪些:
一方面:测试时需要参考的文档(产品需求说明书,产品概要设计,详细设计,产品的使用说明书) 二方面:我们测试需要提交的文档
测试用例:这些测试用例包括测试前和测试中不断完善的用例,并且按照模块进行分类,并在模块内分出优先级 ;
测试日志:测试人员把每天都做了哪天工作,哪些问题没有发现,哪些问题比较严重记录在测试日志; 缺陷报告:每天发现的缺陷都要记录,并对所有的缺陷进行管理; 测试总结报告:对测试工作进行总结;
验收总结报告:验收成功后,提交验收总结报告; 还有每个阶段的评审报告。
这些文档也是依据实际情况来看,有时候是不需要这么多的。
(3) 术语的定义:定义开发和测试过程中常用的术语,让项目中所有的人对项目中的常用术语有一致的了解
(4) 制定测试策略:测试策略是描述测试组用于测试整体和每个阶段的策略方法。确定测试策略要从模块、功能、
整体、系统、版本、压力、性能、配置和安装等各个方面来考虑。测试策略也是整个测试计划的重点之一。
(5) 明确给出测试阶段的进入、推出标准 (6) 确定测试的内容
这一项测试很关键:因为我们所测工作的内容就在这里,通常这里会列出所有要测试的功能点,除了这些功能点以外的,都不需要测试。
(7) 资源的计划:这些资源包括人力资源,系统资源,硬件资源和软件资源。
(8) 测试进度的安排也是重要的。这个进度指的是,在什么时间里需要那些人完成哪些工作。
(9) 在测试计划中给出测试人员的具体任务分配,确哪些测试人员完成哪些部分的测试。 (10) 最后,写上风险的预防措施风险和问题
测试时间不够,主要是系统测试的时间可能不够;测试资源是否能及时到位;测试人员的培训;开发进度的变化,需求或设计的变更;测试人员的基础培训;其它意外事件的应对方式
8. 软件测试流程图,需求阶段的,设计编码阶段的,集成、统、收阶段的流程图 开发的需求工作阶段的软件流程测试
需求工作培训编写需求文档需求说明书需求评审系统测试方案需求变更进入下一阶段 设计编码阶段的流程图
集成、统、收阶段的流程图
上一阶段集成测试方案集成测试测试部评估系统测试方案系统测试验收测试产品综合测试评价测试工作总结测试总结文档
10. 什么是软件测试,强度测试,负载测试,容量测试?
现代软件测试的定义是:使用人工或自动手段来运行或测试某个系统的过程, 其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
压力(强度)测试:主要是为了检查程序对异常情况的抵抗力,强度测试总是迫使系统在异常的资源配置下运行。例如:当正常的用户点击率为“1000次/秒”,运行点击率为“2000次/秒”的测试用例。(测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能够提供的最大服务级别的测试)
负载测试:通过在被测系统上不断增加压力,直到性能指标达到极限,例如响应时间超过预定指标或某种资源已经达到饱和状态。
容量测试:确定系统可处理同时在线的最大用户数
α、β、常用来表示软件测试过程中的两个阶段,α是第一阶段,一般只供内部测试使用;β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用; 13. 回归测试:通常软件公司是在新Build中执行已通过的测试用例的测试行为。其目的在于防止由于引入新功能/修改bug/需求变更而使软件原正常部分代码损坏。
14缺陷报告处理一般流程
测试人员 测试经理或开发经理
开发人员 测试人员
测试经理或测试人员
缺陷报告处理流程
特殊处理流程
提交缺陷报告 缺陷分析 解决缺陷报告 关闭缺陷报告 推迟处理 经理 测试人员 开发人员
15.什么是黑盒测试:
测试证明每个实现了的功能是否符合功能设计的规格和要求,所以黑盒测试也叫功能测试或数据驱动测试或基于规格说明的测试,黑盒测试把测试对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现。
能看到的状态 全部 、closed、later、wontfix New、reopen 能处理的状态 确定(confim)、later New、fixed、reopen fixed、later、closed New
被测对象可以是一个系统、一个子系统、一个模块、一个子模块、一个函数等。 2、常见黑盒测试类型
黑盒测试类型都来源于质量模型,将软件特性和质量特性结合起来就得到了测试类型, 功能性测试、容量测试、负载测试、恢复性测试。
3、常见黑盒测试用例设计方法
等价类划分;边界值分析;因果图分析法;判定表法;状态迁移图;
不管什么测试方法,都是为了减少测试时的测试用例数,都是为了用尽量少的测试用例去完成测试,去发现更多的问题。
4、黑盒测试的特点
对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高; 测试人员不需要了解特定的细节,包括特定的编程语言; 从用户的视角进行测试,很容易被大家理解和接受; 有助于暴露任何规格不一致或有歧义的问题;
16.。1、什么是白盒测试
白盒测试是 依据被测软件 分析程序内部构造,并依据内部构造设计测试用例,来对内部控制流进行测试,可以完全不顾及程序的整体功能实现情况。白盒测试是基于程序结构的逻辑驱动测试 2、白盒测试常用技术
静态分析:控制流分析、数据流分析、信息流分析等
动态分析:逻辑覆盖测试(分支测试、路径测试、语句覆盖、条件覆盖等)、程序插装等 3、白盒测试的特点
测试人员需要了解软件的实现;可以检测代码中的每条分支和路径;提示隐藏在代码中的错误; 对代码的测试比较彻底;实现代码结构上的优化;白盒测试投入比较大,成本高;
白盒测试不验证规格的正确性;
17单元测试 又称为模块测试,是最小单位测试,是在软件开发过程中要进行的最低级别的测试活动.类、文件、窗口、函数、菜单、报表或一个存储过程都可以作为一个单元进行测试
单元测试时不考虑和系统其他模块的关联性,只单纯验证单一模块功能的正确性。在单元测试中,我们需要对测试模块中的所有程序的流转路径设计测试用例进行测试,以便从代码中发现问题。
18.集成测试,也称为综合测试,是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划 ,一边将模块或其他链接单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各个组成部分是否合拍。也可以理解为在
软件设计单元、功能模块组装、集成为系统时,对应用系统的各个部件(软件单元、功能模块接口、链接等)进行的联合测试,以决定他们能否在一起共同工作,部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。 19. 系统测试:系统测试是基于软件需求说明书的黑盒测试,其目的是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确,并非一项简单的任务,被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他的动态运行行为应该与软件规约进行对比。软件系统测试的方法很多,主要有功能测试,性能测试,随机测试等。 驱动模块: 调用被测程序。
桩模块: 模拟一些行为, 桩模块(Stub)是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。 各阶段的测试方法:
20.等价类:三角形不同的三个边A,B,C.
边界值没有,因为三角行的长度没有限制,所以不做边界值考虑。 因果图分析法:三个边的组合条件输入为: 在用等价类分析下; 有效等价类:
输入三个正整数或正小数
1.两数之和大于第三边 A+B>C;A+C>B;C+B>A 2.两数之和不大于第三边
3.两数相等A=B;或B=C;或A=C
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库面试很可能会问到的在线全文阅读。
相关推荐: