第二章—软件测试策略

1.软件测试与软件开发有何关系?

软件开发是生产制造软件;软件测试是验证开发出来软件的质量。类比传统加工制造企业,软件开发人员就是生产加工的工人,软件测试人员就是质检人员。
关系:
软件测试是在软件开发基础上完成的。
没有软件开发就没有测试,软件开发提供软件测试的对象。
软件开发和软件测试都是软件生命周期中的重要组成部分
软件开发和软件测试都是软件过程中的重要活动。
软件测试是保证软件开发产物质量的重要手段。

2.简述软件测试的流程。

(1)测试计划和控制。
(2)测试分析与设计。
(3)测试实现和执行。
(4)评估出口准则和报告。
(5)测试结束活动。

3.软件测试的V模型和W模型有什么区别?

一、指代不同

1、v模型:是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件测试的V模型。

2、w模型:由两个V字型模型组成,分别代表测试与开发过程。

二、特点不同

1、v模型:仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。

2、w模型:测试的活动与软件开发同步进行,测试的对象不仅仅是程序,还包括需求和设计,尽早发现软件缺陷可降低软件开发的成本。

三、适用不同

1、v模型:是一种传统软件开发模型,适用于一些传统信息系统应用的开发。

2、w模型:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求文档的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。

综上所述V模型是软件开发完了之后才开始测试活动。
而W模型则是软件测试活动伴随着软件开发活动。和软件开发同时开展。
W模型更加敏捷,对于软件的交付期和品质的保证能力更强。

4.软件测试是一个独立的过程,与开发无关。这种说法正确吗?

错误,软件测试不可以独立出来,应该是贯穿于整个软件开发生命周期的,而且没有开发就没有测试。

5.软件开发模型在软件开发过程中起到什么作用?没有它行吗?

首先在软件开发中没有软件开发模型是不行的,软件开发模型是软件开发全部过程、活动和任务的结构框架。是对软件过程的建模,即用一定的流程将各个环节连接起来,并可用规范的方式操作全过程,好比工厂的流水线。软件开发模型能清晰。直观地表达软件开发全部过程,明确规定要完成的主要活动和任务,它用来作为软件项目工作的基础。软件开发模型应该是稳定和普通适用的。在软件开发模型的选择上,应该根据项目和应用的特点、采用的方法和工具、需要控制和交付的特点这3个特点上进行选择。

6.软件测试中检测到的错误都是由编码错误引起的吗?为什么?

测试过程中计划-需求-设计-编码,前面3个阶段也可能引进错误,不单单是由编码错误引起。

7.黑盒测试和白盒测试的区别是什么?可以同时使用这两种测试方法吗?

白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。

黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。

测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。

二者最大的区别应该就是测试对象不一样,白盒测试主要针对的是程序代码逻辑,黑盒测试主要针对的是程序所展现给用户的功能,简单的说就是前者测试后台程序后者测试前台展示功能。

不可以同时使用,一般是先黑盒测试后白盒测试。

8.静态测试和动态测试分别都应用在什么场景下?

静态测试:通过评审文档、阅读代码等方式测试软件。主要包括各阶段的评审、代码检查、程序分析、软件质量度量等,用于对被测程序进行特性分析。其中评审通常有人来执行;代码检查程序分析、软件质量度量等即可人工完成,也可用工具来完成,但工具的作用和效果相对更大更好一些。

动态测试:通过运行程序测试软件。主要运行被测程序来检查运行结果与预期结果的差异,并分析运行效率和健壮性等指标;这种方法包括三部分:构造测试用例、执行程序、分析程序的输出结果。

9.有一种说法:“不可能完全测试一个程序”。判断这句话的正确性并给出理由。

这句话是软件测试原则之一,首先这句话是正确的,因为测试的覆盖率几乎不可能达到100%,也就是说,软件测试不能穷举所有的测试用例,不能将程序中所有的路径都测试一遍,因为对于多数软件系统,由于其复杂性和规模,测试用例数或程序路径数会是一个非常大的数据。不能完成100%的测试,也就不可能将所有的缺陷发现出来,因此测试总是存在风险的。如果有充足的时间不断地进行测试,总是可以找到更多的缺陷。

10.给出向相关人员分配测试任务的步骤,并思考其合理性。

任务分配说大不大,说小不小,分配的合理性直接影响项目的进展力度,但因为每个公司的工作内容不同,工作时间不同,组织结构不同,从而导致任务分配很难有很高的效率。

测试任务安排(考虑的问题和困难):

(1)针对工程师个人的特点和特长来安排适合工作的特定任务
(2)不同的阶段可以适当交叉互换测试人员
(3)任务安排均匀、公平,不要造成一部分人的任务过重,一部分人的任务过轻
(4)将关联性很强的若干个(子)任务安排给一个人
(5)任务不能安排太紧,适当留有余地

测试任务安排的步骤:

(1)在做测试计划时,对测试执行所需要的资源进行规划,一般会增加比较多的余量15%-20%,使测试资源有足够的准备。
(2)在设计测试用例时,预估每个测试用例的执行所需时间,并记录在测试用例数据库中,为后期估计备注
(3)根据每个测试用例的预估时间,可以算出每个测试模块的工作量
(4)分析软件模块之间的关系,然后根据模块的关联性和相应的工作量进行模块进行模块组合
(5)根据每个人的特点,将组合模块分配给各个测试人员
(6)一轮测试结束后,交叉互换测试的模块组合

软件测试慕课版学习总结—第二章相关推荐

  1. 软件测试慕课版学习总结—第六章

    第六章--软件测试的度量 1.什么是软件测试的度量? 软件度量是一种度量技术,这种技术用来支撑过程.产品和服务中心工程和管理信息,以及支持过程.产品及服务的信息上的改进,从而量化地评定测试过程的能力和 ...

  2. 机器人导论(第四版)学习笔记——第二章

    机器人学导论(第四版)学习笔记--第二章 2. 空间描述和变换 2.1 引言 2.2 描述:位置.姿态与位姿 2.3 映射:从一个坐标系到另一个坐标系的变换 2.4 算子:平行,旋转和变换 2.5 总 ...

  3. Js高级程序设计第三版学习(十二章)

                                  Js高级程序设计第三版学习(十二章) 第十二章 DOM2和DOM3   1.样式: 访问样式属性 任何支持style特性的HTML元素都有一 ...

  4. python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  5. 《Go语言圣经》学习笔记 第二章 程序结构

    Go语言圣经学习笔记 第二章 程序结构 目录 命名 声明 变量 赋值 类型 包和文件 作用域 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记,几乎是书上的内 ...

  6. python语言程序设计基础嵩天答案第二章_python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  7. Kotlin学习笔记 第二章 类与对象 第十一节 枚举类 第八节密封类

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  8. 《SysML精粹》学习记录--第二章

    <SysML精粹>学习记录 第二章:系统建模语言概览 SysML介绍 SysML与UML SysML图概览 SysML通用图 小结 第二章:系统建模语言概览 SysML介绍   SysML ...

  9. 乐行学院Redis5学习教程 第二章 redis5远程访问及工具Redis Desktop Manager使用

    乐行学院Redis5学习教程 第二章 redis5远程访问工具Redis Desktop Manager 检查服务器端口和防火墙 Redis Desktop Manager介绍 Redis Deskt ...

最新文章

  1. 十年“老司机”的私家锦囊:10个编程技巧、5个纠错步骤,让你的编程之路少点坎坷
  2. python框架大全_常用的Python开源框架有哪些?列举这3个
  3. 微信小程序————经纬度转化为具体位置(逆地址解析)
  4. redhat6 删除mysql_Red Hat enterprise linux 6卸载默认安装的 mysql
  5. 解决Windows 7 系统,Group Policy Client 服务未启动,不能登录的问题。
  6. 操作系统 第二部分 进程管理(六)
  7. 案例 | 基于JMP的机器学习,解决半导体良率问题
  8. build lavas 失败_vue lavas的项目在IE下显示空白
  9. VS 2017安装教程
  10. 【电子商务法】北邮国际学院大三上期末复习
  11. echarts画工作流(流程图)
  12. 小白教程系列——C盘满了,将C盘扩容
  13. Origin绘图后导出图片的方法
  14. PPPOE拨号之四:juniper netscreen 防火墙 PPPOE拨号配置
  15. IDA PRO 静态反汇编与OllyDbg动态调试实战技巧汇总
  16. #Geek Talk# AI and FinTech,投资阿里巴巴的 Benson Tam 也会跟大家一起 Talk
  17. GoC编程(C++画图) 小学C++编程启蒙、入门、学习路线推荐
  18. 分组密码设计准则概论
  19. 骚操作!代码写情诗 | 程序员有话说
  20. 1:MOST: A Multi-Oriented Scene Text Detector with Localization Refinement

热门文章

  1. java远控_利用Java实现远程控制
  2. 20230503 Javascript下载页面pdf的高质量代码
  3. 这个能力很重要,但大多数人没有
  4. 成功解决图像相减全黑问题
  5. 《软件体系结构》 第九章 软件体系结构评估
  6. 瑞萨RL78系列单片机报内存溢出故障的解决过程。RA78K0R error E3206: Segment ‘@@CODEL‘ can‘t allocate to memory - ignored
  7. linux命令行下载BT种子和磁力链接
  8. 操作系统基本原理 操作系统的功能
  9. Unity3d八 Unity使用的坐标系
  10. input 起止时间_完整的时间(开始和结束时间)输入框验证js