软件测试基础知识

一 在软件测试基础之前,我先了解计算机基础知识: 1 为什么需要计算机? 每天都要处理的信息是巨大的,如果是人工来对这些数据进行处理,效率是很低的。因此使用计

一.在软件测试基础之前,我先了解计算机基础知识:

1.为什么需要计算机?

每天都要处理的信息是巨大的,如果是人工来对这些数据进行处理,效率是很低的。因此使用计算机来提高处理数据的速度。

2.计算机是什么?

是可以自动高效地完成计算的电子设备,俗称电脑(PC)

二.软件测试基础:

1.为什么需要软件测试:

(1)一款软件的诞生会经历很多的开发阶段,由于不同的人来参与开发,最终产出的软件功能会存在问题。这时我们采用测试,对软件进行测试,所以保证了软件的功能可用。

(2)不管是软件是否容易上手,执行效率是否高等一些列的要求,所以这也需要我们对软件进行大量的测试。

2.为什么选择软件测试:

想要让这款产品变得更加的完善,让用户用起来更加利索、方便,把错误率降到最低,所以需要测试。

3.软件测试定义:
通过手工或工具对“被测对象”进行测试操作,从而验证实际结果与预期结果之间是否存在差异

4.测试原则:

(1)测试证明软件存在缺陷:不管在执行什么样的测试操作都保能当前软件是否有缺陷的。

(2)不能执行穷尽测试:有些功能是没有办法将所有的测试情况逻列出来,任何的测试操作都有结束的时间

(3)缺陷存在群集现象:对于软件功能来说,核心功能占20%,非核心功能占80%,我们会集中测试20%的核心功能

(4)某些测试需要依赖特殊的环境

(5)测试应尽早介入:为了更多的发现和更好的解决软件中的缺点

(6)杀虫剂现象:同一样的测试不能多次测试,因为软件会对它产生免疫
(7)不存在缺陷谬论:任何软件不可能是完美的

5.测试级别(最常见的一种级别分类,如下)

(1)单元测试:软件中的最小可测试单元进行检查和验证,一般就是类、函数、组件。

(2)集成测试:在单元测试基础上,将多个单元模块组合在一起,进行集成测试。
(3)系统测试:测试人员充当用户然后对软件功能的主体进行测试(是当前行业做的最多的一种测试)

(4)验收测试(分为了两种测试):1.内侧、2.公测

6.系统测试分类:

(1)功能测试:验证当前软件主体是否可用

(2)兼容性测试:验证当前软件在不同的环境下是否可用

(3)安全测试:验证软件是否只能授权用户提供的功能使用

(4)性能测试:相当于当前软件消耗的资源、它的产出能力

7.常见的系统测试方法:

  1.按测试对象进行分类:

  (1)白盒测试:主要测试软件的底层代码(也就是看代码进行测试)

  (2)黑盒测试:主要测试软件外在主体是否可用(也就是不看代码,直接进行测试)

  (3)灰盒测试:介于二者之间的测试

  2.按测试对象是否执行分类:
  (1)静态测试:不执行

  (2)动态测试:在真实的环境下进行测试

  3.按测试手段进行分类:

  (1)手工测试:人员手动对被测试的对象进行测试,优点是灵活的改变测试操作环境

  (2)自动化测试(主要有两种形):1.自己写测试脚本,2.通过第三方的工具对被测试对象进行测试,优点是在高效率的执行有些人工无法的操作

8.软件开发过程模型:
  瀑布模型:

  (1)先是图片介绍:

 

 

   (2)瀑布模型的优缺点:

    优点:

     开发的各个阶段比较清晰

     早期计划及需要调查

     适合需要求稳定的产品开发。

    缺点:

     依赖于早期的需求调查,不适合需求的变化。

     单一流程不可逆

     风险往往在后期才显露,失去纠正的机会,导致后期的时间不够用

 

  (3)在瀑布模式的基础上,优化了瀑布模式,这个模式叫快速原型模式

    第一:快速原型模型的图片介绍

 

 

     第二:快速原型模式的优缺点

       优点

        克服瀑布模型的缺点

       缺点

        不适合大型系统的开发

        适合小型的、灵活性高的系统

9.测试模型:

(1)V模型

  第一:V模型图片展示

  

 

 

   (2)解析当中V模型的设计、测试等

    需求分析:用户需求、需求规格说明书

    概要设计:模块与模块之间的接口、系统架构、模块的划分

    详细设计:模块中的内部的逻辑与方法

    编码:实现上面的设计

    单元测试:检查开发的代码是否符合详细设计要求

    集成测试:测试过的各组部分是否能玩好的组合到一起

    系统测试:测试已经集成在一起的产品是否符合规格说明书打的要求

    验收测试:测试产品是否符合用户的要求

  (3)V模型的优点:

    包含了高层测试:底层测试(单元测试)、高层测试(系统测试)

    采用自顶向下的方法把整个开发过程分成不同的阶段,每个阶段的工作都很明确,当所有的阶段都完成之后,那开发的过程也随之结束

  (4)V模型的缺点:

    是由于自身的顺序性所导致的,很多前期的错误直到测试阶段才发现,甚至无法发现,随着往往无从修改

    模型灵活性比较低

  (5)W模型:

    第一:W模型的图片介绍:

 

 

   第二:W模型优缺点

    优点

      早期就进入测试,可以尽早的解决缺陷,把错误率降到最低

      还便于控制整个项目过程

    缺点

      复杂性提高,对需求和设计的测试要求很高

  (6)H模型

    第一:H模型图片的展示

 

 

     第二:H模型优缺点

      优点

        测试活动可以尽早准备、尽早执行、具有很强的灵活性

        被测物的不同而分层次、分阶段、分次序的执行,同时也可以被迭代

      缺点

        管理型要求高、技能要求高、对于整个项目组的人员要求非常高、测试就绪点分析困难

10.等价类划分法:

  是一种重要的、常用的黑盒测试,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可

11.边界值(边界值分析法也是一种常用的黑盒测试方法):

  确定边界值情况、选取正好等于、刚刚好大于或者刚刚小于边界值作为测试数据、闭两边、开中间

12.因果图法的定义:

  (1)特点:

  考虑输入条件的相互制约及组合关系

  考虑输出条件对输入条件的依赖关系

  (2)因果图的核心:

  因果图的“因”——输入条件

  因果图的“果”——输出条件

  (3)基本符号:

  

  恒等含义:若原因出现,则结果出现; 若原因不出现,则结果也不出现

  非含义:若原因出现,则结果不出现; 若原因不出现,则结果出现

  或 含义:若几个原因中有一个出现,则 结果出现;若几个原因都不出现,则 结果不出现

  与含义:若几个原因都出现,则结果 才出现;若其中一个原因不出现, 则结果不出现

 (4)约束条件: