一入测试,深似海,遁入IT,苦随来

版权声明: https://blog.csdn.net/KamRoseLee/article/details/87815614

1、测试行业基本介绍:

一、为什么需要软件测试

对于现在的用户来说我们在使用软件的时候不再仅仅只是关注于当前软件的主体功能是否可用,而且会对软件的外观,易用性,执行效率等方面都有考虑,所以这就需要我们通过大量而全面的测试操作来促使软件变得更加完美。

二、为什么选择软件测试

  1. 有些人喜欢创造世界所以从事开发工作,我们想让这个世界变重更加完美所以选择了软件测试。
  2. 当前国内的软件行业对于专业的测试人员需求量非常。

三、为什么不让开发自已做测试

  1. 专业度:测试和开发属于软件行业不同的技术方向,每个方向都有自已的技术规范。让专人做专事 更加的合理。

  2. 思维定式:一个软件的开发需要一定的时间周期,在这个周期内对于开发人员来说绝大多数的时间都是在思考具体的软件功能该如何实现,而不会去从用户的角度来出发,思考何去使用这个功能。

  3. 测试力度:相对于开发人员来讲,软件就相当于他们自已的孩子,所以“下手”的时候肯定不会那么重。

注:

不让开发自已做测试不意味着开发人员不能做测试,当前行业里有很多测试人员之前就是开发。

2、软件测试基本介绍:

一、软件测试定义

软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

二、软件测试的作用和目的

  1. 测试工作可以发现并修复软件中存在的缺陷,从而提高用户对软件的使用信心
  2. 测试操作可以记录软件使用过程中产生的一些数据,从而为决策者提供依据
  3. 测试操作可以降低同类型软件开发的风险
  4. 总结:测试工作的目的就是通过尽可能少的人力 财才 物力来查找并解决软件中存在的缺陷从而降低商业风险等

三、测试原则

  1. 测试证明软件存在缺陷:我们的测试工作只能证明当前软件是有缺陷而不能证明它没有缺陷
  2. 不能执行穷尽测试:具体的测试操作不可能将所有的情况都一 一逻列出来,所以测试工作肯定有终止的时候
  3. 测试应当尽早介入:一般不要在开发完成之后才执行测试,这样不利于缺陷的尽早发现
  4. 缺陷存在群集现象:对于一款软件来说核心的功能只占20%,所以在测试的时候我们会花更多的时间去专门测试这些功能,因此它里面缺陷暴露的可能就会更大一些,我们就称之为缺陷群集现象。
  5. 某些测试操作依赖于特定的测试环境
  6. 杀虫剂现象:不要过多使用同一条测试案例来对软件进行问题查找 ,因为软件会产生“抗性”
  7. 不存在缺陷的谬论:任何的软件不可能是完美的

3、测试对象和测试级别:

一、测试对象

在当前实际工作中我们的测试对象主体绝大多数情况下都是软件主体功能,而我们需要明白软件一般由 主体功能 + 使用说明书 + 配置数据三个部分组成

由于软件的开发可以分为不同的阶段,所以我们也能按着阶段将被测对象列出不同的名称:

  1. 需求阶段:各种的需求规格说明书
  2. 架构设计阶段:具体的 API 文档
  3. 编码实现阶段:具体的源代码
  4. 系统功能使用阶段:此时就相当于软件的第一个版本已经出来了,测试对象就是我们所说的主体功能。

二、测试级别

所谓的测试级别我们可以理解为是按着相应的软件开发模型定义,一个软件从无到有就会产生相应的过程,而级别指的就是在这个过程当中我们可以执行的阶段

  1. 单元测试:( UT unit test ):所谓的单元指的就是当前软件底层代码中最小的结构,具体的表现就是类 函数 组件等( 当前行业一般不会让测试人员来完成单元测试 )
  2. 集成测试( IT system intergration test ):集成指的就是将不同的单元组合在一起,验证它们之间沟通的“接口”的是否能正常工作。
  3. 系统测试( ST system test ):这是我们当下工作中最经常做的一种测试,就是对软件当前的整体使用进行测试
  4. 验收测试( UAT user acceptance test ):
    1. α测试:内测,使用者和开发人员在一起,可以随时修改。
    2. β测试:公测.........
    3. UAT测试:由第三方派出专业的业务人员来对软件进行使用测试从而验收

4、系统测试分类和测试方法:

一、系统测试分类

  1. 功能测试:就是去测试当前软件的主体功能
  2. 兼容性测试:测试当前软件在不同的平台是能否正常运行
  3. 安全测试:对通过验证的用户提供功能使用
  4. 性能测试:测试当前软件相对于消耗资源的产出能力

二、常见系统测试方法

按测试对象

  1. 白盒测试:相当于单元测试不在意外在的功能体现,更多的就是对当前软件的底层代码进行测试。
  2. 黑盒测试:相当于系统测试,只在意外在主体功能是否实现而不追求底层代码写的是否漂亮。
  3. 灰盒测试:介于上述二者之间

按被测对象是否执行

  1. 静态测试:要求测试对象不需要执行,例如种文档的测试
  2. 动态测试:要求测试对象运行起来,在运行过程中查找缺陷

按测试手段

  1. 手工测试:由测试人员充当用户,将软件置于实际环境下进行操作,然后人工的进行测试,优点就是可以灵活的修改测试数据或者测试环境
  2. 自动化测试:通过工具或者自动化脚本来动态的完成一些操作,优点就是可以提高效率

5、软件质量和测试流程:

一、软件质量特性

所谓的软件质量我们就认为是用来衡量一个软件好与坏的标准,目前我们测试行业依据的一套质量标准是由 ISO 标准制定组织制定,对于测试人员来说需要记忆的就是六大特性

  1. 功能性:软件具有满足用户显示或者隐式功能的能力
  2. 可靠性:软件必须实现需求说明规定的功能
  3. 易用性:软件在使用上容易上手 易于学习 吸引用户的能力
  4. 效率性:类似于软件的性能考虑
  5. 可维护性:在规定条件和规定时间内使用规定的工具修复规定功能的能力
  6. 可移植性:要求软件具有可以从一个平台移动到另外一个平台上使用的能力

二、软件测试流程

  1. 需求分析

    1. 这个步骤的核心就是理清楚我们需要测试的点是什么。
    2. 需求的来源:需求规格说明书 、同类产品分析、API文档、个人经验。
  2. 设计用例

    1. 用例:具体的我们就可以理解为是用户对于软件使用的一个完整操作流程,里面会包括测试什么 和 怎么样去测
  3. 评审用例: 将我们设计好的用例进行适当的删除或者增加

  4. 配置环境

    1. 所谓的环境指的就是软件运行需要依赖的环境。要求测试人员都具备配环境的能力
    2. 这里的环境我们一般包括四个方法:操作系统 数据库 服务器软件 当前软件底层代码执行所需要的环境
  5. 执行用例

    1. 在执行用例之初我们会做一个冒烟测试。所谓的冒烟测试指的就是在最快的时间内对软件的最基本功能和整体流程进行验证
    2. 如果冒烟测试通过验证,那么我们才会展开全面详细的测试,如果不通过那么就可以直接返给开发重新等待开发提交下一个软件版本
  6. 缺陷跟踪和回归测试:当我们通过测试操作发现一个缺陷之后我们将它交给相应的人员进行处理,此后我们仍然需要对它进行跟踪,当修复完成之后我们还需要对这个结果行验证测试,称之为回归测试。

  7. 输出测试报告:将整个测试过程当中产生的相关数据通过可视化的格式输出方便别人查看

  8. 测试结束:将整个测试流程中产生的文档或者数据进行整理和存档

6、常见软件架构:

一、常见软件架构

架构基本介绍

架构可以理解为是用来指导软件产品成型的一种思想,当前软件行业最常见的二种架构分别是B/S[浏览器---服务器模型] 和 C/S[客户端----服务器模型] 架构,B指的就是 browser ,C指的就是client, S指的就是server

bs 与 cs 架构比较

  1. 标准:对于 BS架构来说无论是浏览器还是服务器都有现成的软件供我们去使用,而CS架构中的客户端一般都由开发者自定义完成开发,所以相对来说 BS开发要标准一些。
  2. 效率:因为BS架构当中所有的数据处理操作都发生服务器端而CS 的客户端是可以来分担一些服务器数据处理工作的,因此相对来说 CS 的处理效率会高一些
  3. 升级:BS架构只需要将服务器进行更新那么前台页面会自动的刷新,而CS架构如果想要升级就必须将二端都重新制作,下载安装后才可以使用。
  4. 安全性:相对于CS架构来说 BS 的安全性会低一些。
  5. 开发成本:因为浏览器不需要我们开发,所以我们认为 CS的开发成本相对较高

7、浏览器和图片类型介绍:

一、浏览器定义

浏览器本身就是一款软件,我们直接将它安装在操作系统上去使用,一般用于浏览网页。目前来说市面上存在五大浏览器生产厂商,分别是: IE 、firefox、chrome、safari、opera。而对于浏览器这款软件来说最核心的技术就是浏览器内核

二、浏览器内核【只需了解】

  1. Trident: IE 浏览器1995年推出的一款内核
  2. Gecko:目前火狐浏览器使用的内核
  3. blink: 由KHTML内核心发展而来,chrome浏览器在使用
  4. webkit: 由KHTML内核发展而来,safari 浏览器在使用
  5. presto: 这个内核当前已经停止更新,用于oprea( 欧鹏浏览器 ) ,现在这款浏览器已经向chrome 看齐

三、常见的图片类型

  1. jpg :颜色信息比较丰富的一种图片格式
  2. .png:可以支持透明的一种图片格式
  3. .gif :支持动图,占用体积小
  4. .psd: 分层的图片【 常见于PSD设计稿 】

8、域名和服务器介绍:

一、域名基本介绍

域名就是为了方便用户去记忆而自已设计的一个名字,一般需要花钱购买。它的组成一般分为三个部分

  1. 一级域名:一级域名就是最后一个点号后面的内容 .com .cn .net
  2. 二级域名:二级域名就是一级左边,baidu ,一般都是需求方自已设计,一级域名和二级域名连在一起应当是全世界唯一( yyshi.cn yyshi.com )
  3. 三级域名:三级域名一般都是用户自定义,最常见的就是www

注:域名和服务器一样都需要花钱购买,国内常见的服务商有:万网 新网 西部数据 美橙互联...........

二、服务器与 URL

  1. 服务器:我们就认为是一台电脑,它的上面可以安装相应的服务器软件,来为我们的用户提供服务操作 。
  2. URL:所谓的URL我们就认为是用户写在浏览器地址栏里的一长串,它由协议 + 域名 +端口号 + 路径+ 具体的文件名称组成

三、网站的访问过程【只需了解】

  1. 在浏览器中输入 URL
  2. 这个URL需要通过解析 去找到相应的IP
  3. 查找IP 首先会从本地的 hosts 文件开始,如果找不到则去 DNS服务器查找
  4. 如果DNS帮我们找到了目标的IP ,我们先发送一个测试的请求,通过之后再发送正式请求
  5. 服务器接收到正式的请求之后,它还需要进行验证。如果验证通过,则去帮我们找到当次请求想要的文件
  6. 服务器开始处理我们的想要的文件,在这个过程中有可能会用到数据库中的数据
  7. 1.当服务器将文件处理毕之后再通过 http 协议还给浏览器,【此时浏览器就用自已的渲染引擎来进行渲染展示】

四、网站访问流程图

版权属于原商、原作者,仅作为学习使用,请勿用于商业用途 !!!

如文章涉及版权问题,请及时联系本人删除,感谢!!!

猜你喜欢

转载自blog.csdn.net/KamRoseLee/article/details/87815614