目录

一、软件测试概念

2、软件测试的特点

3、软件测试和软件开发的区别?

4、软件测试与软件调试的区别

5、软件测试中的不同岗位

6、作为一个软件测试工程师需要具备的能力

7、测试人员需要掌握的能力

8、什么是测试用例?

9、什么是BUG?

10、软件开发的五大模型

11、软件测试模型

12、软件测试的生命周期

13、如何描述一个BUG?

14、BUG的级别

15、BUG的生命周期

16、如果和开发人员产生冲突怎么办?

17、为什么要设计测试用例?

18、基于需求设计测试用例

19、等价类设计测试用例的方法


一、软件测试概念

1、什么是软件测试?

(1)检测软件功能是否正常和正确运行。

(2)软件测试工程师检测软件功能是否满足用户的需求。

2、软件测试的特点

软件测试只是样本实验,无法穷举。

3、软件测试和软件开发的区别?

(1)软件开发是程序员按照用户的需求开发软件的功能。

(2)软件测试是软件测试人员按照用户的需求标准测试软件功能是否满足。

4、软件测试与软件调试的区别

软件测试是根据用户的需求来检验软件功能是否满足需求,软件调试是开发人员验证软件功能是否实现了预期功能。

5、软件测试中的不同岗位

软件测试工程师:需求分析、验证、写测试计划、编写、执行用例、写测试报告。

测试开发工程师:开发自动化测试脚本、测试工具、写测试报告、测试框架。

6、作为一个软件测试工程师需要具备的能力

(1)良好的综合能力:沟通能力强、学习能力强、具备一定的开发能力和文字能力。

(2)掌握测试用例编写能力。

(3)掌握一定的自动化测试技术。

(4)对测试工作有一定的兴趣。

(5)具有发散性思维

7、测试人员需要掌握的能力

8、什么是测试用例?

软件测试人员向被测试系统发起的一组集合,包括测试环境,测试数据,测试步骤,预期结果。

9、什么是BUG?

如果软件需求规格说明书存在,并且合理,软件功能不符合软件需求规格说明书,我们就说是BUG;如果软件需求不存在,如果用户的需求存在且合理,软件功能和用户需求不符合,我们就说是软件错误。

10、软件开发的五大模型

软件开发的生命周期是:需求分析—计划—设计—编码—测试—运行维护

(1)瀑布模型

流程:启动—需求分析—计划—设计—编码—测试—end

特点:串行的,每个阶段独立,强调早期的需求分析,以及后期的工作。

缺点:测试介入晚,前期的问题后期才会发现,导致失去了及时纠正的机会。

(图片来自知乎:川石信息)

(2)螺旋模型

特点:注重每一个迭代风险分析,适合于项目比较庞大,前期风险大的项目。

缺点:风险分析需要投入专业的人力资源,成本比较高。

(图片来自知乎:天行健)

(3)增量模型,迭代模型

增量模型按照一定的增量去开发系统的功能,假如一个系统开发分为ABCD四个模块,要求两周之内完成,增量模型会按照第一周先完成AB模块,第二周再完成CD模块的顺序去执行。

然而迭代模型会在第一周完成ABCD四个模块的基本功能,第二周在基础之上完成剩余的较为复杂的部分。

(4)敏捷模型

特点:拥抱变化,注重团队与用户之间的及时沟通与交流,注重在短期内交付一个高质量可用软件,而不是各种文档。

11、软件测试模型

(1)软件测试V模型

特点:串行,瀑布模型的变种,左边每个阶段是右边每一个阶段测试的依据

缺点:测试介入晚,前期的问题后期才会发现,导致失去了及时纠正的机会。

(2)软件测试W模型

特点:开发和测试同时进行

12、软件测试的生命周期

需求分析—测试计划—测试设计、测试开发—测试执行—测试总结

需求分析:验证需求的正确性和合理性,细化需求,从需求中提取测试点,为编写测试用例做准备。

测试计划:测试计划中包括测试人员、测试时间、测试工具、测试数据、测试目的和测试范围。

测试设计:开发/编写测试用例。

测试执行:软件测试、执行测试用例、发现BUG、提交BUG、验证BUG。

测试报告:进行测试总结和分析,发现多少BUG,修改多少BUG,剩余BUG解决方案。

13、如何描述一个BUG?

(1)代码版本号

(2)测试环境:硬件环境和软件环境

(3)测试步骤

(4)测试数据

(5)实际结果与预期结果

(6)错误日志

14、BUG的级别

崩溃级别:系统已经无法运行,严重阻碍了测试和开发工作。

严重级别:系统可以运行,但是不稳定,继续运行,会造成严重的问题。

一般级别:次要功能出了问题。

次要级别:建议修改,不影响系统的基本运行。

15、BUG的生命周期

16、如果和开发人员产生冲突怎么办?

(1)先检查BUG的描述是否清楚

(2)尝试站在用户的角度去思考,尝试说服开发人员

(3)不断提高自己的业务水平:找出产生BUG的原因,提出解决方案。

(4)做一个有影响力的人。

(5)找产品经理一起商量解决方案

17、为什么要设计测试用例?

(1)测试用例是测试执行的依据

(2)测试用例可以复用,添加或修改功能后,回测的时候可以重复使用。

(3)可用于衡量需求覆盖率

(4)自动化测试的依据

(5)可以作为后续测试人员的借鉴依据

18、基于需求设计测试用例

(1)需求是测试人员进行测试的依据,需求分为功能需求和非功能需求

(2)测试人员首先要分析需求,验证需求的正确性和合理性,无二义性,逻辑自洽

(3)细化需求,从需求中提取出测试项,从每一个测试项中提取出测试点,根据测试点设计测试用例

19、等价类设计测试用例的方法

根据输入,把输入划分成若干个等价类,从每一个等价类中取一个测试用例,进行测试,如果这个测试用例通过,我们就说这个用例所属的等价类通过,等价类可以解决测试用例无法穷举的情况。

有效等价类:符合需求规则说明书的数据

无效等价类:不符合需求规格说明书的数据

第一章 软件测试概述相关推荐

  1. 第一章软件测试概述,需求分析

    什么是软件? 1)软件(software)是计算机与硬件(hardware)相结合的一部分,包括程序(program)和文档(document). 程序:实现功能指令的集合. 文档:软件开发,使用,维 ...

  2. 「武汉理工大学 软件工程复习」第一章 | 软件工程概述

    目录 第一章 | 软件工程概述 [软件的特性] [软件危机] [软件工程] [软件开发基本策略(要素)] [软件工程基本原理] [单元测试题] 选择题 判断题 第一章 | 软件工程概述 [软件的特性] ...

  3. 第一章 MongoDb概述

    版本修改历史 版本 修改内容 修改人 日期 1.0 创建文档 李乐 2010-6-30 第一章 MongoDb概述 集文档数据库,键值对存储和关系型数据库的优点于一身. MongoDB (名称来自&q ...

  4. IT项目管理总结:第一章 项目管理概述

    第一章 项目管理概述 使用项目管理的好处 –更好地控制财力.物力和人力资源 –改进客户关系 –缩短开发时间 –降低成本和提高生产率 –提高质量和可靠性 –更大的边际利润空间 –更好的内部协调 –积极影 ...

  5. 计算机网络(谢希仁第八版)第一章:概述

    1.计算机网络在信息时代的作用 三网:电信网络,有线电视网络,计算机网络. 三网融合:由于涉及多方面的利益和行政管辖权的问题,目前没有实现. Internet(译名:因特网,目前使用最广泛的译名为:互 ...

  6. 【JUC】第一章 JUC概述、Lock 接口

    第一章 JUC 概述.Lock 接口 文章目录 第一章 JUC 概述.Lock 接口 一.JUC 概述 1.什么是 JUC 2.线程和进程概念 3.线程的状态 4.并发与并行 5.管程 6.用户线程和 ...

  7. 软件测试之第一章 软件测试和测试环境

    第一章 软件测试和测试环境 一. 软件的含义和分类 1 软件的含义 软件是程序.数据和文档的集合. 程序:编程语言:C.C++.Java.php 等. 数据:使用文件或数据库来存储数据. 文档:安装说 ...

  8. Java极速入门系列:第一章Java概述、Java环境、IDEA开发工具

    Java极速入门-第一章Java概述.Java环境.IDEA开发工具 一.什么是Java 1.好的编程语言的特性 2.Java的特点 3.Java的运行机制 4.Java的三大体系 5.Java环境 ...

  9. 第一章 分布式计算概述

    第一章 分布式计算概述 一.分布式计算的概念 分布式计算是计算机科学的重要研究内容,主要研究对象是分布式系统.简单地说,一个分布式系统是由若干通过网络互连的计算机组成的软硬件系统,且这些计算机互相配合 ...

最新文章

  1. 开发顺序工作流时注意的几个事项
  2. MySQL中字符串函数详细介绍
  3. python tk protocol_Python Modbus_tk在树莓派上实现rtu master
  4. Java项目课程03:涉及知识点
  5. Linux内核分析 - 网络[二]:网卡驱动接收报文
  6. [Swift]LeetCode1043. 分隔数组以得到最大和 | Partition Array for Maximum Sum
  7. 深度学习笔记_ResNet
  8. java反编译jar包并修改class文件重新打包
  9. Mac小白必备技巧4—Mac文件管理器需要的快捷键有什么?
  10. android app 嵌入广告,流氓来了!如何拯救手机中嵌入广告的应用
  11. 人工智能机器深度学习与大数据技术在足球比赛预测推荐分析上的深度挖掘和应用
  12. 物联网平台如何创造价值,构建平台需要考虑哪些因素?
  13. Elasticsearch文档内部的父子关系
  14. C++QT13位时间戳转换成年月日时分秒毫秒
  15. setInterval 函数的使用例子
  16. android震动代码分析
  17. 千峰网络安全笔记(前三讲)
  18. 快排为什么一定要从右边开始?
  19. 网络购物属于计算机应用中的,2019年12月网络教育统考《计算机应用基础》复习题(六)...
  20. 学校人脸识别门禁系统的意义

热门文章

  1. python 获取当前日期时间
  2. MOS管Qg的概念解析
  3. 暑假实践课题学习DAY1——python第一天
  4. Spring GraphQL使用入门
  5. NTP时钟服务器(NTP网络时钟系统)配置说明方法
  6. Excel VLOOKUP实用教程之 04 vlookup如何实现三变量查找,三个条件字段查询数据?(教程含数据excel)
  7. [LeetCode]849. Maximize Distance to Closest Person 解题报告(C++)
  8. Android O指纹识别解析
  9. 报错:MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O
  10. 社群变现的道与术:私域流量与用户运营