软件工程测试方向复习资料
- 格式:docx
- 大小:16.81 KB
- 文档页数:2
软件测试复习资料软件测试复习资料软件测试是软件开发过程中至关重要的一环。
它的目的是为了发现并修复软件中的错误和缺陷,确保软件的质量和可靠性。
在软件测试的过程中,我们需要掌握一些基本的知识和技巧。
下面是一些软件测试的复习资料,希望对你的复习有所帮助。
一、软件测试的基本概念1. 软件测试的定义和目的:软件测试是指在软件开发过程中,通过运行软件系统,以发现系统中存在的错误和缺陷,并对其进行修复和验证的过程。
软件测试的目的是确保软件的质量和可靠性。
2. 软件测试的原则:软件测试应该具备独立性、全面性、可测性、可重复性、及时性和有效性等原则。
3. 软件测试的分类:软件测试可以分为静态测试和动态测试。
静态测试是指对软件系统的文档、源代码等进行检查和审查的过程,主要包括代码审查、文档审查等。
动态测试是指通过运行软件系统,模拟用户的操作和环境,以发现系统中的错误和缺陷的过程,主要包括黑盒测试、白盒测试等。
二、软件测试的方法和技术1. 黑盒测试:黑盒测试是一种基于需求规格说明书的测试方法,它不考虑软件的内部结构和实现细节,只关注软件的输入和输出。
黑盒测试主要包括等价类划分、边界值分析、决策表、状态转换图等技术。
2. 白盒测试:白盒测试是一种基于软件内部结构和实现细节的测试方法,它需要了解软件的源代码和程序逻辑。
白盒测试主要包括语句覆盖、分支覆盖、路径覆盖等技术。
3. 单元测试:单元测试是对软件系统中最小的可测试单元进行测试的过程,主要用于测试软件的各个模块和函数的功能是否正确。
4. 集成测试:集成测试是对软件系统中多个模块进行组合和测试的过程,主要用于测试模块之间的接口和交互是否正确。
5. 系统测试:系统测试是对整个软件系统进行测试的过程,主要用于测试系统的功能、性能、安全性等方面是否符合需求。
6. 验收测试:验收测试是在软件开发完成后,由用户或客户对软件进行测试的过程,主要用于确认软件是否满足用户的需求和期望。
可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。
(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。
(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。
(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。
(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。
(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。
(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。
软件测试技术复习资料⼀、填空题1. 完整的测试应包括(制定测试计划)(设计测试⽅案)(测试准备和测试环境的搭建)(执⾏测试)(测试评估)。
2. 设计测试⽤例时应包括(输⼊数据)和(预期结果)。
6.对⾯向过程的系统采⽤的集成策略有_____⾃顶向下集成______________、_________________⾃底向上集成__两种。
7.软件测试主要分为__单元测试、集成测试、系统测试、验收测试_四类测试。
8.⿊盒测试⽤例设计⽅法包括等价类划分、边界值分析、_以及_____因果图,错误推测法等。
9.测试⼯作就是进⾏输⼊、接受输出、检验结果,不深⼊代码细节,这样的测试⽅法称为________⿊盒测试________,10.⽩盒测试是根据程序的(内部逻辑)来设计测试⽤例1、在测试执⾏结束后应该提交的⽂档有:测试问题报告、测试记录报告、阶段问题统计报告。
2、在测试总结后应该提交的⽂档有:测试问题分析报告、测试总结报告。
3、RAD⽅法中由于根本的需求没有被冻结,所以⽤户在设计的过程中是迭代的。
4、在RAD环境的测试是基于开发过程中的⽤户改进迭代。
5、在RAD⽅法中由于设计、编码和集成的反复循环性,导致了测试的设计、执⾏等的循环性。
6、测试项⽬的流程中⼀般有测试策划、测试设计、测试准备、测试执⾏、测试总结五个阶段。
7、在测试规划过程中,应对测试内容、测试需求的资源、测试通过的标准、测试进度和风险进⾏计划。
8、在测试设计过程中,应做出测试计划、测试⽤例,并要经过评审。
9、在执⾏测试的过程中应该注重⽤例执⾏时系统的实际动作和输出的真实准确记录。
10、所有的测试都应追溯到⽤户需求。
11、在集成测试的过程中,由于采⽤的测试策略不同,需要集成测试⼈员⾃⼰去编写驱动器和桩模块。
12、软件=程序+数据+⽂档+服务。
13、代码评审主要做代码审查⼯作。
14、软件测试主要分为单元,集成,系统,验收四类测试。
15、测试⼈员A在测试中发现系统20个缺陷,测试⼈员B在系统中发现了30缺陷,他们有5个缺陷是⼀样的,从理论上分析,系统⼤概存在120个缺陷?测试员A发现n个缺陷,B发现m个缺陷,共同缺陷m1个,理论上总的缺陷N=m/m1*n16、⽹络通讯三个要素,包括协议、IP、端⼝。
一、理论部分1、软件测试的目的?软件测试是一个为了寻找软件错误而运行程序的过程。
目的就是为了发现软件中的错误。
一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。
一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件测试主要分为白盒测试和黑盒测试两大类。
2、软件测试方案?(根据代码,测试方案)P198黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。
测试者把被测程序看成一个黑盒,不用关心程序的内部结构。
黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试主要采用的技术有:等价分类法、边界值分析法、错误推测法和因果图等技术。
等价分类法的测试技术采用的一般方法,举例:(1)为每个等价类编号;(2)设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。
(3)设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类, 重复这一步骤,直到所有无效等价类被覆盖为止。
----------------------------------------------------------------白盒测试也称为结构测试,测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。
白盒测试主要采用的技术有:逻辑覆盖法。
路径测试技术中几种主要覆盖的含义,举例:语句覆盖:至少执行程序中所有语句一次。
判定覆盖:使被测程序中的每一个分支至少执行一次。
故也称为分支覆盖。
条件覆盖:执行所有可能的穿过程序的控制路流程。
条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。
软件测试的一般步骤?单元测试、子系统测试、系统测试、验收测试、平行测试。
软件测试复习资料正向思维软件测试就是为程序能够按预期设想那样运行而建立足够的信心。
“软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果”测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作逆向思维测试是为了证明程序有错,而不是证明程序无错误一个好的测试用例是在于它能发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试1、软件测试定义的两面性IEEE 的定义:(验证和确认在P25)在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价?分析某个软件项以发现现存的和要求的条件之差别(即错误)并评价此软件项的特性软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体?“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的内容。
验证产品满足规格设计说明书的一致性“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。
是否构造了正是用户所需要的软件?即是否正在做正确的事。
验证产品所实现的功能是否满足用户的需求2、软件测试的价值全面评估产品质量,获得有关产品质量的全面、客观的信息发现问题,督促问题解决,提高产品质量持续提供质量反馈、及时揭示质量风险,有助于控制项目风险,提高构建的质量?通过缺陷分析,获得缺陷模式,有助于缺陷预防3、测试和质量保证的关系软件质量保证(Software Quality Assurance,SQA)活动是通过对软件产品有计划的进行评审和审计来验证软件是否合乎标准的系统工程,通过协调、审查和跟踪以获取有用信息,形成分析结果以指导软件过程。
对软件工程各个阶段的进展、完成质量及出现的问题进行评审、跟踪。
审查和验证软件产品是否遵守适用的标准、规程和要求,并最终确保符合标准、满足要求。
建立软件质量要素的度量机制,了解各种指标的量化信息,向管理者提供可视信息。
《软件工程与软件测试技术》课程复习大纲与练习题备注:1)复习材料包括:复习大纲、教材、授课幻灯片、习题课幻灯片、在线练习题。
2)如学员使用其他版本教材,请参考相关知识点第一章软件工程和软件测试概述•基本概念:软件、软件危机、软件工程、软件生命周期、软件过程模型•重点的知识点:–软件工程方法学的要素–软件生命周期都包括哪些阶段,每个阶段的任务–主要的软件过程模型有哪些,每个软件过程模型的特点、优点、缺点、适用场合•需了解的知识点–软件测试的起源–软件测试工程师应具备的素质第二章软件测试基础•基本概念:–软件测试,软件缺陷,软件质量保证,单元测试,集成测试,系统测试,确认测试,验收测试,黑盒测试,白盒测试,灰盒测试,开发方测试(alpha测试),用户测试(Beta测试),第三方测试,V模型,W模型,H模型,X模型,前置测试模型•重点的知识点:–软件测试的目的–软件测试的原则–软件测试的类型–软件测试模型–软件质量保证的工作内容•需了解的知识点–软件质量保证的工作过程–软件质量保证的目标–软件质量保证与软件测试的区别第三章白盒测试技术•基本概念:–白盒测试,静态测试,动态测试,桌面检查,代码审查,走查,静态结构分析,基本路径测试法,LCSAJ•重点的知识点–逻辑覆盖法(掌握各种逻辑覆盖的定义和条件)–基本路径测试法–最小测试用例数的计算–白盒测试的综合测试策略–ESTCA覆盖准则–LCSAJ覆盖准则•需了解的知识点–词法分析与语法分析–静态程序分析–程序插桩技术–静态质量度量法第四章黑盒测试技术•基本概念–黑盒测试,有效等价类、无效等价类,等价类划分法、边界值分析法、场景法、因果图法、正交实验法、判定表法,错误推测法、随机测试、功能分解法等•重点的知识点–功能测试用例设计方法(等价类划分法、边界值分析法、场景法、因果图法、正交实验法、判定表法,错误推测法、随机测试、功能分解法等)–测试方法综合使用策略•需了解的知识点–黑盒测试用例的编写和组织–QTP自动测试工具。
《软件工程与软件测试》课程期末复习资料《软件工程与软件测试》课程讲稿章节目录及知识点:第1章概述(1)了解软件的定义(2)了解软件危机的产生(3)了解软件工程的定义第2章软件过程(1)掌握软件过程的定义(2)掌握软件生命周期的几个阶段(3)掌握瀑布模型、快速原型模型、软件开发模型的基本过程,了解其优缺点(4)掌握增量模型、螺旋模型、喷泉模型的基本过程,了解其优缺点第3章可行性研究(1)了解可行性研究的目的与任务(2)掌握系统流程图(3)掌握数据流图(4)掌握数据字典(5)了解成本-效益分析的方法第4章软件需求分析(1)了解需求分析的任务(2)掌握需求获取的常用方法(3)掌握结构化分析方法(4)熟练使用需求分析图形工具第5章软件总体设计(1)了解软件设计和总体设计的定义(2)掌握模块化、抽象和信息隐蔽和局部化的原理(3)掌握模型快独立性和衡量标准(4)掌握软件结构设计准则(5)熟练使用软件结构设计图形工具(6)掌握结构化设计方法第6章软件详细设计(1)了解详细设计的目标和任务(2)掌握程序流程图、盒图等程序设计工具的使用(3)掌握程序判定表、判定树等程序设计工具的使用(4)掌握人机界面设计的原则和方法第7章软件编码(1)掌握程序设计语言的选择准则(2)掌握程序设计风格要点第8章软件测试(1)掌握软件测试的目标和原则(2)掌握几种软件测试方法的定义(3)掌握语句覆盖、判定覆盖等逻辑覆盖方法(4)掌握条件覆盖、条件组合覆盖等逻辑覆盖方法(5)掌握循环测试和基本路径测试基本方法(6)掌握等价类划分的方法(7)掌握边界值分析、错误推测和因果图的原理和方法(8)掌握单元测试方法(9)掌握集成测试方法(10)掌握确认测试和系统测试方法(11)掌握软件调试的方式第9章软件维护(1)了解软件维护定义(2)掌握软件维护过程(3)掌握软件可维护定义和方法(4)了解软件维护中存在的问题第10章面向对象方法学(1)了解面向对象方法定义(2)掌握面向对象的基本概念(3)掌握对象、类及类之间关系(4)掌握统一建模语言UML第11章面向对象的分析(1)掌握面向对象的分析过程(2)掌握建立用例模型方法(3)掌握建立对象模型方法(4)掌握建立顺序图和通信图方法(5)掌握建立状态图和活动图方法(6)掌握建立物理实现模型方法第12章面向对象的设计与实现(1)掌握面向对象的设计准则和启发式规则(2)掌握问题与子系统和人机监护子系统(3)掌握任务管理子系统和数据管理子系统(4)掌握服务设计方法(5)掌握关联设计方法(6)掌握面向对象设计优化方法(7)掌握面向对象系统实现方法一、客观部分:(单项选择、多项选择)(一)、单项选择1模块独立性是由内聚性耦合性来度量的,其中内聚性是()A. 模块间的联系程度B. 模块的功能强度C. 信息隐藏程度D. 接口的复杂程度★考核知识点:模块独立性参见讲稿章节:5.3附1.1.1:(考核知识点解释)模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。
1.编制测试计划的原则
1)制定测试计划应尽早开始
2)保持测试计划的灵活性
3)保持测试计划简洁和易读
4)尽量争取多渠道评审测试计划
5)计算测试计划的投入
2.简述测试计划的编写过程
1)评估项目计划和状态
2)组建测试小组
3)了解项目风险
4)制定测试计划
5)审查测试计划
3.界定测试范围的原则有哪些
4.进行软件测试需求需要哪些步骤
5.测试策略的描述内容包括哪些
6.基于测试技术的测试策略有哪些
7.测试中的常见风险有哪些
(1)需求风险。
对软件需求理解不准确,导致测试范围存在误差,遗漏部分需求或者执行了错误的测试方式;另外需求变更导致测试用例变更,同步时存在误差。
(2)测试用例风险。
测试用例设计不完整,忽视了边界条件、异常处理等情况,用例没有完全覆盖需求;测试用例没有得到全部执行,有些用例被有意或者无意的遗漏;
(3)缺陷风险。
某些缺陷偶发,难以重现,容易被遗漏;
(4)代码质量风险。
软件代码质量差,导致缺陷较多,容易出现测试的遗漏;(5)测试环境风险。
有些情况下测试环境与生产环境不能完全一致,导致测试结果存在误差;(6)测试技术风险。
某些项目存在技术难度,测试能力和水平导致测试进展缓慢,项目延期;
(7)回归测试风险。
回归测试一般不运行全部测试用例,可能存在测试不完全;(8)沟通协调风险。
测试过程中涉及的角色较多,存在不同人员、角色之间的沟通、协作,难免存在误解、沟通不畅的情况,导致项目延期;
(9)其它不可预计风险。
一些突发状况、不可抗力等也构成风险因素,且难以预估和避免。
8.掌握如何编写测试计划
1)根据测试策略,选定测试计划包含的测试范围
2)划分测试阶段,明确测试方法,确定测试任务
3)确定测试过程监控方法
4)评估测试工作量
5)确定时间并生成进度计划
6)评估进度计划风险。