Giter Site home page Giter Site logo

testing-learning's Introduction

软件测试理论

Introduction to the basic theory of software testing.

软件测试

一、测试分类

1.1、按阶段分类

  1. 单元测试也叫模块测试;测试最小的程序模块;
  2. 集成测试又叫组装测试,通常在单元测试的基础上,单独的模块合在一起测试
  3. 系统测试,指的是将整个软件系统看为一个整体进行测试
  4. 验收测试:
    1. α测试:Alpha 是内测版本,通常只在软件开发者内部交流,或忠实的粉丝之间发布,该版本软件的bug较多,普通用户最好不要安装。
    2. β测试:Beta是公测版本,是对所有用户开放的测试版本,免费发布,因为里面还会有一些bug的存在。
    3. γ测试:Gamma版本就是正式版的候选版本。

1.2、是否查看源代码

  1. 黑盒测试:关注业务逻辑,输入内容与输出结果之间
  2. 白盒测试:去研究里面的源代码和程序结构
  3. 灰盒测试:黑白之间的状态

1.3、按是否运行分类

  1. 静态测试: 指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程。
  2. 动态测试: 是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

1.4、按照是否自动化

  1. 人工测试:也叫做手工测试,测试人员手动去进行的测试。
  2. 自动化测试:利用代码或者工具帮助人工进行测试。

1.5、测试策略

  1. 冒烟测试:冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通。
  2. 回归测试:当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试。
  3. 随机测试:随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分。
  4. 探索性测试:探索性测试意味着同时设计测试和执行测试。测试人员通过测试来不断学习被测系统。

二、缺陷

软件缺陷:是指软件或程序中存在的各种问题及错误;会导致软件产品在某种程度上不能满足用户的需求

2.1、软件缺陷的判定标准

  1. 软件未达到需求规格说明书中标明的功能。
  2. 软件出现了需求规格说明书指明不会出现错误的地方。
  3. 软件的功能超出了需求规格说明书指明的范围。
  4. 软件未达到需求规格说明书虽未指明但应该达到的目标。
  5. 软件测试人员认为软件难以理解,不易使用,运行速度慢,或者最终用户体验不好。

2.2、软件缺陷产生的原因

软件缺陷产生是不可避免的,造成软件缺陷产生的原因主要归纳如下:

  1. 需求解释、记录或者定义错误
  2. 设计文档说明存在错误或者拼写错误
  3. 编码说明、程序代码有误
  4. 硬件或者软件系统上存在错误

2.3、软件缺陷的类型

  1. 功能错误
  2. 界面错误
  3. 兼容性缺陷
  4. 易用性问题
  5. 改进建议

三、测试原则

  • 只能证明软件存在问题,不能证明不存在问题
  • 不能进行穷尽(穷举)测试,应该分类别测试
  • 测试工作要尽早的介入,降低修复成本
  • 缺陷存在集群现象,二八原则:20%的模块中存在80%的缺陷
  • 测试依赖环境(系统、浏览器)
  • 杀虫剂现象
  • 不存在缺陷谬论

四、软件测试的定义

人工和自动化手段来进行测试,目的找到预期结果和实际结果之间的差异

五、软件测试的目的

用最少的人力、物力、财力,找到软件中的问题并修复,从而降低商业风险

六、测试用例

定义:是为特定的目的而设计的一组测试输入,执行条件和预期结果的文档。测什么?怎么测?

testing-learning's People

Contributors

yangaiei avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.