名词解释题1.软件生命周期从软件项目提出直至不再使用、需要重新开发的生命周期。
包括需求、概要设计、详细设计、代码实现、软件测试、维护等阶段。
2.软件质量软件质量就是指软件系统或系统中的软件部分的质量,即满足用户需求,包括功能需求和性能需求的程度。
3.软件测试软件测试是一种作为主体的人通过各种手段对客体软件的某种固有属性进行的一种以认知,和改造为目的的活动4.软件错误也称故障,导致失效的原因,或者程序内部的一个错误。
5.软件缺陷在程序中存在的,有可能诱发软件故障或导致软件失效的潜在因素。
6.动态测试动态测试是在抽样测试数据上执行程序并分析输出以及发现错误的过程。
包括白盒测试技术和黑盒测试技术7.静态测试静态测试是不执行程序代码而寻找文档、程序代码中可能存在的错误的过程。
8.黑盒测试黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是否都正常使用。
黑盒测试法常用的技术包括:功能分解法、等价类划分法、边界值解析法、因果图法、随机测试、猜错法等。
9.白盒测试白盒测试是吧测试对象看做一个打开的盒子。
利用白盒测试法进行动态测试时,除了要验证软件的功能特性之外,还特别需要测试软件产品内部结构和处理过程。
白盒测试法的覆盖标准由逻辑覆盖测试、基本路径测试和循环结构覆盖测试。
10.单元测试单元测试的对象是程序系统中的最小单元---模块。
单元测试的依据是详细设喵叔,单元测试应对模块内所有重要的控制路径测试测试用例,以便发现模块内部的错误。
单元测试多采用白盒测试技术,对系统内多个模块可以进行并行测试。
11.集成测试集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的模块之间问题。
两种集成方式:一次性集成方式和增殖式集成方式。
12.系统测试系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括恢复测试、安全测试、强度测试和性能测试等。
13.验收测试验收测试在系统测试通过后开始,在某种意义上是由用户/客户进行的系统测试,但又不是体统测试的重复。
14.桩模块又称桩单元。
用以仿真被测试单元工作过程中所调用的单元,由被测试单元调用,一般只进行很少的数据处理,以便于检车被测试单元与其下级单元的接口。
15.驱动模块也称驱动单元,用以仿真被测试单元的上级单元,驱动单元在单元测试中接受测试数据,把相关的数据传给被测试单元。
简答题1.简述软件生命周期有哪些阶段。
软件生存周期包括可行性分析与开发项计划、需求分析、概要设计、详细设计、代码实现、软件测试、维护等活动2.简述按照测试目标划分的软件测试分类1.验收测试2.功能测试3.性能测试4.强度测试5.安全性测试6.确认测试3.简述按照测试对象划分的软件测试分类1.单元测试2.不见测试3.系统测试4.代码审查5.文档审查4.简述软件测试的阶段划分分为初期阶段、发展阶段和成熟阶段三个阶段。
初期阶段1957~1971:测试通常被认为是对产品进行事后检验,缺乏有效的测试方法。
发展阶段1972~1982:1972年第一次关于软件测试的正式会议,促进软件测试的发展。
成熟阶段1983年至今:国际标准Std 829-1983,形成一门独立的学科和专业,成为软件工程学科中的一个重要组成部分。
5.简述软件缺陷的等级划分分为重要缺陷和一般缺陷。
重要缺陷是指该缺陷若被激发会对设计文档/需求文档中规定的主要功能的完成产生不利/潜在不利影响,从而导致功能降级的代码问题。
一般缺陷是指该缺陷若被激发,不会影响设计文档/需求文档中规定的主要功能的完成,但对运行或操作会产生/潜在产生轻微影响的代码问题。
6.简述测试用例的要素及其含义。
测试目标:测试的目的结果测试用例:测试时输入的测试数据预期结果:输入测试用例的预期结果7.简述黑盒测试技术方法种类四种基本方法为:等价类划分法、边界值分类法、因果图法、猜错法。
等价类划分法:分为有效等价类,即合理的,有意义的输入数据构成的集合;无效等价类,即不合理的、没有意义的输入数据构成的集合。
边界值分类法:选择等价类的边缘值作为测试用例,让每个等价类的便捷都得到测试。
因果图法:把输入条件视为“因”,把输出条件视为“果”,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。
猜错法:拖过列出可能有的错误和一撮情况表,对每种情况都进行测试用力的设计。
8.简述代码走查和代码审查的区别代码审查可以被看成是一种特殊的审查方式,审查小组选取典型代码进行检查并修改其中的缺陷。
代码走查与代码审查很详细,都是以小组为单位进行代码阅读,是一系列规程和错误检查技术的集合。
代码走查是以小组为单元进行代码阅读,也是一系列规程和错误检查技术的集合。
9.简述单元测试的步骤1)自顶向上从最顶层开始,把顶层调用的单元做成桩模块。
对第二层测试,使用上面已测试的单元做驱动模块。
依次类推,直到全部单元测试结束。
2)自底向上先对模块调用图上的最底层模块开始测试,模拟调用该模块的模块为驱动模块。
其次,对上一层模块进行单元测试,用已经被测试过的模块做桩模块。
依次类推,直到全部单元测试结束。
3)孤立测试步骤:无需考虑每个模块与其他模块之间的关系,分别为每个模块单独设计桩模块和驱动模块,逐一完成所有单元模块的测试。
4)综合测试在单元测试中,为了有效地减少开发桩模块的工作量,可以考虑综合自底向上测试策略和孤立测试策略。
10.简述软件集成策略。
1.基于分解的集成(大爆炸集成、自定行下、自底向上集成)2.三明治集成3.基于调用同的集成4.基于路径的集成5.分层集成6.基于功能的集成7.高频集成8.基于进度的集成9.基于风险的集成10.基于事件的集成11.基于使用的集成11.简述集成测试和系统测试的区别12.简述至少6种系统测试的策略1)功能测试(Functional Test)功能测试属于黑盒测试技术范畴,是系统测试中要进行的最基本的测试,它不用考虑软件内部的具体实现过程。
2)性能测试(Performance Test)应用在网络方面和客户端方面的测试3)压力测试压力测试又称强度测试,是在各种资源超负荷情况下观察系统的运行情况。
4)容量测试容量测试是面向数据的,在系统正常运行的范围内测试并确定系统能够处理的数据容量。
也就是观察系统承受超额的数据容量的能力。
5)安全性测试要验证系统内的保护机制能否抵御入侵者的攻击。
6)恢复性测试恢复性测试的目标就是验证系统从软件或者硬件失败中恢复的能力。
在测试过程中会采取各种人工干预方式使软件出错,而不能正常工作,进而检验系统的恢复能力。
7)备份测试是为了验证系统在软件或者硬件失败的事件中备份其数据的能力,属于恢复性测试。
8)GUI测试GUI即图形化用户接口,GUI测试分为两个部分,一方面要能使得界面实现与最初设计的情况相符合;另一方面是要确认界面能够正确处理事件。
9)健壮性测试又称容错性测试。
测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。
10)兼容性测试目的就是检验被测应用对其他应用或者系统的兼容性。
11)可用性测试可用性测试是面向用户的系统测试。
12)可安装性测试就是要验证成功安装系统的能力。
13)文档测试文档测试是对系统提交给用户的文档进行验证,并不是一般性的审查活动。
通过文档测试保证用户文档的正确性并使得操作手册能够准确无误。
14)在线帮助测试在线帮助测试给用户提供一种实时的咨询服务。
15)数据转换测试主要是为了验证已存在的数据转换并载入一个新的数据库是否有效。
16)验收测试验收测试是将程序与其最初的需求及最终用户当前的需要进行比较的过程。
13.简述测试项目管理的三维模型(全方位、全过程、多层次)时间维—全过程管理:对软件测试项目的全过程进行控制。
空间维—全方位管理:对与软件测试质量有关的关键因素实施全方位管理。
组织维—人员管理:构建从测试热源、测试小组到测试机构的多层次的管理模式。
论述题1.什么是软件测试,请谈谈为什么要进行软件测试?软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
因为软件缺陷的存在。
因为只有通过测试,才可以发现软件缺陷。
也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。
软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性2.请谈谈什么是自动化测试及其好处并举例说明。
自动化测试(automated test)是相对手工测试(manual test)而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替。
测试工具的使用是自动化测试的主要特征,其特点:自动运行的速度远快于手工、测试结果准确、高复用性、永不疲劳、可靠、独特的能力。
好处:测试周期缩短、更高质量的产品、软件过程更规范、高昂的团队士气、节省人力资源,降低企业成本、充分利用硬件资源,降低企业成本。
3.试述软件测试的概念模型,并解释。
在开发过程中,从需求阶段到编码阶段,主要是采用验证手段进行测试,如需求评审、设计评审、代码走查以及代码审查等,从而完成对开发的中间结果的正确性的评估。
编码完成并经过代码审查等测试之后,此时的测试主要在软件的可执行模式下进行,即利用确认手段进行测试,确认测试包括单元测试、集成测试、系统测试以及用户验收测试等,其相应的关系。
4.试述软件测试的V型模型,并说明优缺点优点:采用V模型可使软件的测试活动与其他开发工作并行进行。
缺点:缺乏灵活性,不能提出完整和正确的软件需求。
(没找到。
很抱歉 - -|||)5.请谈谈你认为一个优秀的测试工程师应该具备哪些素质作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。
因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。
1.专心:主要指测试人员在执行测试任务的时候要专心,不可一心二用。
高度集中精神不但能够提高效率,还能发现更多的软件缺测试目标测试依据缺陷定义测试对象解决方案测试结果测试工具测试方法测试策略测试组织测试过程陷,业绩最棒的往往是团队中做事精力最集中的那些成员。
2.细心:主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。
某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。
3.耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。
如果比较浮躁,就不会做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。