• 172.50 KB
  • 2021-05-18 发布

《软件工程与软件测试技术》复习资料

  • 10页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
‎ 《软件工程与软件测试技术》课程期末复习资料 一、客观部分:(单项选择、多项选择、不定项选择、判断)‎ ‎(一)单项选择题 ‎★考核知识点: 原型开发模型的特点。‎ ‎ ★考核知识点:软件生命周期各阶段的任务,在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。‎ ‎ ★考核知识点:单元测试的主要内容,有效性测试即确认测试,不属于单元测试。‎ ‎ ★考核知识点:软件测试的目的。‎ ‎★考核知识点: β测试的概念,又称用户测试。 ‎ ‎★考核知识点:V模型的概念,单元和集成测试对程序设计进行验证。‎ ‎★考核知识点:静态测试的内容,编码规则检查、程序复杂度分析和程序结构分析都属于静态测试,内存泄露属于性能测试检查的范畴,不属于静态测试。 ‎ ‎★考核知识点:白盒测试的概念,白盒测试主要根据程序的内部逻辑来设计测试用例。‎ ‎★考核知识点:性能测试工具 ‎ ★考核知识点:McCall质量模型 ‎ ★考核知识点:软件测试的基本概念 ‎★考核知识点:黑盒测试和白盒测试的区别 ‎★考核知识点:条件覆盖。‎ ‎★考核知识点:黑盒测试,边界值分析 ‎★考核知识点:对需求说明书的评测应考查系统定义的目标是否与用户的要求一致 、软件的行为与它必须处理的信息、必须完成的功能是否一致、设计的约束条件或限制条件是否符合实际、是否考虑过软件需求的其他方案 ‎ ‎★考核知识点:可行性分析,‎ 可行性研究实质上是要进行一次大大压缩简化了的系统 分析和设计。‎ ‎★考核知识点:不同测试之间的区别。‎ ‎★考核知识点:软件质量的定义。‎ ‎★考核知识点:软件测试的基本知识的综合应用,可以用排除法。‎ ‎★考核知识点:软件测试的类型。 ‎ ‎★考核知识点:逻辑覆盖,可以使用基本路径测试法,程序中有两个判定条件,应该选择2+1个测试用例才能够达到语句覆盖. ‎ ‎★考核知识点:软件质量模型,适合性、准确性、互操作性、依从性和安全性是功能特性包括的子特性,稳定性是可维护性的子特性 ‎★考核知识点:逻辑覆盖。达到100%条件覆盖未必能够100%满足语句覆盖要求。‎ ‎★考核知识点:黑盒测试技术的使用策略。24题中,场景法适合业务清晰的系统;25题中正交实验法适合参数配置类的软件;因果图和判定表法适合程序功能说明中含有输入条件的组合情况 ‎★考核知识点:第三方测试,即由在技术、管理和财务上与开发方和用户方相对独立的组织进行的测试. ‎ ‎★考核知识点:敏捷测试的基本特征。增量、协作、直接的、适应性强的是敏捷测试的4个基本特征 ‎★考核知识点:软件测试的对象。软件是由文档数据和程序组成,软件测试的对象也就包括数据、文档和程序,程序包括源程序和目标程序 ‎★考核知识点:白盒测试,4个选项中只有逻辑覆盖是白盒测试技术,其他都是黑盒测试方法 ‎★考核知识点:在V模型中,系统测试对系统设计进行验证 ‎★考核知识点:软件测试的概念,软件测试不仅仅是对程序的测试,还包括对文档和数据的测试,程序只是软件测试的对象之一。‎ ‎★‎ 考核知识点:性能测试,负载测试、强度测试盒数据库容量测试都属于性能测试,静态代码走查属于白盒测试 ‎★考核知识点:边界值分析法 ‎★考核知识点: 原型开发模型的特点。原型是用于明确用户需求的,并非是提交用户的最终产品。‎ ‎★考核知识点:考查疲劳强度测试,参考教材146-147页有关疲劳强度测试的内容。疲劳强度测试最容易发现内存泄露的问题。‎ ‎★考核知识点:软件测试的定义,广义的测试包括确认和验证 ‎★考核知识点:软件调试的目的是找出错误并改正。‎ ‎(二)多项选择题 ‎★考核知识点:白盒测试方法, 边界值方法属于黑盒测试方法,但也可以用于白盒测试,但错误推测法不能用于白盒测试。‎ ‎★考核知识点:黑盒测试方法 ‎★考核知识点:静态测试 ‎ ★考核知识点:软件缺陷 ‎★考核知识点:可行性研究,包括从技术、经济和法律上的可行性研究 ‎ ★考核知识点:测试阶段的输入,测试阶段的输入应该包括软件测试计划和测试用例 ‎★考核知识点:自动化测试工具 ‎ ★考核知识点:alpha测试;Alpha测试是在开发环境下进行,但通常有用户代表参加,属于验收测试的一种。‎ ‎★考核知识点:软件开发模型。‎ ‎★考核知识点:测试阶段的交付成果,用户手册和安装部署手册不属于测试阶段的交付物.‎ 二、主观部分:‎ (一) 名词解释 1. ‎ 软件工程: ‎ 1. ‎ 黑盒测试: ‎ 2. ‎ 静态测试: ‎ 3. ‎ 系统吞吐量: ‎ 4. ‎ 软件质量: ‎ 5. ‎ 白盒测试: ‎ 6. ‎ 动态测试: ‎ 7. ‎ 响应时间: ‎ 8. ‎ 软件度量: ‎ 9. 软件生命周期: ‎ 10. 单元测试: ‎ 11. 逻辑覆盖: ‎ 12. 负载测试: ‎ 13. 测试驱动开发(TDD): ‎ 14. 软件测试: ‎ 15. 多条件覆盖: ‎ 16. 集成测试: ‎ 17. 错误推测法: ‎ 18. 敏捷测试: ‎ 19. 软件:‎ 20. 系统测试: ‎ 21. 桌面检查: ‎ 22. 因果图法: ‎ 23. 压力测试: ‎ 24. 软件过程模型: ‎ 25. 用户测试: ‎ 26. 走查: ‎ 27. 场景法: ‎ 28. 大数据量测试: ‎ 29. 软件危机: ‎ 30. 验收测试:‎ 1. 代码审查: ‎ 2. 等价类划分法: ‎ 3. 并发用户数: ‎ 4. 开发方测试: ‎ 5. W模型: ‎ 6. 静态结构分析:‎ 7. 随机测试: ‎ 8. 疲劳强度测试: ‎ 9. 灰盒测试: ‎ 10. 前置测试模型: ‎ 11. 正交实验法: ‎ 12. 软件性能测试: ‎ 13. 基本路径测试法: ‎ (二) 问答题 ‎★考核知识点:软件生命周期 软件生命周期包括问题的定义,可行性分析,需求分析,概要设计,详细设计,编码,测试,维护8个阶段。‎ 问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”‎ 可行性研究阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”‎ 需求分析阶段的任务是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。‎ 概要设计阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”‎ 详细设计阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。‎ 编码阶段关键任务是写出正确的容易理解、容易维护的程序模块。‎ 测试阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。‎ 维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。‎ ‎★考核知识点:快速原型模型 所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。‎ 快速原型模型主要优点:(1) 原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。(2) 开发人员通过建立原型系统已经学到了许多东西,因此在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。‎ 缺点:1)用户有时误解了原型的角色,例如他们可能误解原型应该和真实系统一样可靠。2)缺少项目标准,进化原型方法有点像编码修正。3)缺少控制,由于用户可能不断提出新要求,因而原型迭代的周期很难控制。4)额外的花费:研究结果表明构造一个原型可能需要10%额外花费。5)原型法要求开发者与用户密切接触,有时这是不可能的。例如外包软件。‎ 适用场合:1)适用于用户驱动的系统,即需求模糊或随时间变化的系统;2)已有产品或产品的原型,只需客户化的工程项目;3)简单而熟悉的行业或领域;4)有快速原型开发工具;5)进行产品移植或升级 ‎★考核知识点:V模型 ‎★考核知识点:软件工程方法学 软件工程方法学包含3个要素:方法、工具和过程。其中方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。‎ 目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。‎ 传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。‎ 与传统方法相反,面向对象方法把数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。‎ ‎★考核知识点:边界值分析方法的应用 在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth ‎≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。‎ 则测试用例选择如下:‎ ‎★考核知识点:软件测试模型 W模型由Evolutif公司提出,相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。‎ W 模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。‎ 但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。 ‎ ‎★考核知识点:逻辑覆盖测试 逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖。它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。‎ 从覆盖源程序语句的详尽程度分析,逻辑覆盖标准包括:‎ l 语句覆盖 l 判定覆盖 l 条件覆盖 l 条件判定组合覆盖 l 多条件覆盖 l 修正条件判定覆盖 ‎★考核知识点:边界值分析的应用 ‎1.等价类划分 ‎ ‎ ‎★考核知识点:软件测试的目的、原则和对象 软件测试的目的:‎ ‎1)是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。‎ ‎2)是确认软件的质量,软件做了所期望的事情(Do the right thing ‎),另一方面是确认软件以正确的方式来做了这个事件(Do it right)‎ ‎3)是为开发过程提供反馈信息,协助开发过程的改进:软件测试不仅是在测试软件产品本身,还包括软件开发的过程。软件测试的第三个目的是保证整个软件开发过程的高质量。‎ ‎4)软件质量评估:软件测试是以评价一个程序或系统属性为目标的一种活动,是对软件质量的度量与评估,以验证软件的质量满足用户的需求,为用户选择与接收软件提供有力的依据。‎ 软件测试的原则 1) 所有的软件测试都应追溯到用户需求 2) 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。‎ 3) 完全测试是不可能的,测试需要终止 4) 软件测试无法显示软件潜在的缺陷 5) 充分注意软件测试中的群集现象 6) 程序员应避免检查自己的程序 7) 尽量避免测试的随意性 8) 妥善保存一切测试过程文档。‎ 软件测试的对象:需求规格说明、概要设计规格说明、详细设计规格说明、源程序 。‎