1、软件测试基础

什么是软件测试:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估。

软件测试的目的:以最少的人力、物力找到问题,从而修正问题提高软件质量,达到降低商业风险的目的。

软件测试的定义:使用人工和自动的手段来运行程序,目的在于检验是否满足了需求。

软件测试的原则:

  • 所有测试都要追溯到用户需求
  • 应当尽早和不断的测试
  • 测试工作应该由独立的专业的软件测试人员完成
  • 28原则,测试发现的错误中80%可能来源20%的新模块中。
  • 设计测试用例时应该考虑各种情况。
  • 对测试出的错误结果一定要有一个确认的过程(描述缺陷报告)
  • 制定严格的测试计划
  • 完全测试时不可能的,测试需要终止。
  • 注意回归测试的关联性
  • 妥善保存一切测试文档

软件质量模型(iso9126):

描述当前软件是否可用,在当前软件行业里我们所采用的一套标准是基于ISO组织制定的,需要记忆软件质量六大特性:

  • 功能性:软件需要满足用户显示或隐示的功能
  • 可靠性:软件必须实现需求当中指明的具体功能
  • 易用性:软件易于学习和上手使用,即用户体验好。
  • 可维持性:要求具有将某个功能修复之后继续使用的能力,软件更新
  • 效率性:类似软件性能
  • 可移植性:跨越不同系统平台

软件质量模型保证(SQA):

目的:使软件制作的过程对领导层可见。

定义:他是一套计划和方法来向领导层保证。

五个基本目标:

1.保证有计划的进行

2.保证遵循了步骤和需求

3.及时通知给对应人员

4.高管可以接触到项目内部

5.软件质量需要测试工作来完成

QC:检验产品的质量

QA:审计过程的质量

工作关系:qc进行质量控制,qa是确保qc按照步骤进行。

测试级别:

单元测试(UT):组成软件最小的底层代码结构,一般是类,函数,组件

集成测试(IT):即接口测试,将多个模块组合一起,验证沟通桥梁是否能正常工作

系统测试(ST):最常用,对软件主体功能进行测试

验收测试:

阿法alpha测试:内测,可能存在很多bug,不建议用户安装

贝塔beta测试:公测,面向所有用户,通过用户反馈爱去修改细节

嘎玛gama测试:候选版,与正式软件相差无几

系统测试分类:

功能测试:验证软件主体功能是否可用

兼容性测试:验证软件在不同环境下是否可用

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

性能测试:相对于当前软件消耗资源,他的产出能力

测试的分类:(同测试级别)

按照开发阶段来划分:单元测试、集成测试、系统测试、验收测试。

  • 单元测试:单元测试又称为模块测试,是针对软件设计的最小单位—程序模块进行正确性检验的测试工作。其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发展各模块内部可能存在的各种错误。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行的独立进行单元测试。
  • 集成测试:集成测试也叫组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步成为符合概要设计要求的程序或整个系统。
  • 系统测试:系统测试是再真实的系统运行的环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件、文件平台等)正确配置、连接,并最终满足用户的所有需求。
  • 验收测试:是软件产品检验的最后一个环节,按照项目任务书或合同、供需双方约定的验收依据文档进行对整个系统的测试与评审,决定是否接收或拒绝系统。

常见系统测试方法:

按照是否覆盖源代码来划分:黑盒测试、白盒测试、灰盒测试。

  • 黑盒测试:通过软件的外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,它只是检查样序是否按照需求规格说明书的规定正常实现。
  • 白盒测试:通过程序内部结构的分析、检查来寻找问题。白盒测试可以把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。白盒测试又称结构测试。
  • 灰盒测试:介于白盒测试与黑盒测试之间的测试。灰盒测试关注输出对于输入的正确性;同时也关注内部表现,但这种关注并不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。(接口测试)

按照代码是否运行来划分:静态测试、动态测试。

  • 静态测试:指不实际运行被测对象,而只是静态地检查程序代码、界面或文档中可能存在错误的过程。
  • 动态测试:指实际运行被测对象,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。

按照是否自动化划分:

  • 自动化测试:利用软件测试工具自动实现全部或部分测试,它是软件测试的一个重要组成部分,能完成许多手工测试无法实现或难以实现的测试;正确、合理的实施自动化测试,能够快速、全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件发布周期。
  • 人工测试

按照软件特性来划分:功能测试、性能测试。

  • 功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
  • 性能测试:功能的另一个指标,主要关注软件中的某一功能在指定的时间、空间条件下,是否使用正常。
  • 回归测试:是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
  • 冒烟测试:是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。所以也叫可测性测试。

按照测试的实施单位来划分:开发方测试、用户测试、第三方测试。

测试的生命周期:接需求-听评审-写用例-评审用例-准备测试数据-提测之后-测试-测试完成- 发通过邮件-上线之后,做线上验证-发邮件通知完成。

测试流程:

需求分析

编写测试用例

评审测试用例

搭建测试环境(准备软件系统 )

等待开发提交测试包

部署测试包

冒烟测试(主体功能预测)

执行测试用例

BUG跟踪处理(提交及回归BUG)

N轮之后符合需求

版本上线

面向用户使用

测试计划:

测试方案:

测试策略:

测试用例的编写:

BUG的定义:

BUG(软件缺陷)的分类:

1、系统缺陷

2、数据缺陷

3、数据库缺陷

4、接口缺陷

5、功能缺陷

6、安全性缺陷

7、兼容性缺陷

8、性能缺陷

9、界面缺陷

10、建议

BUG(软件缺陷)的状态:

1、提交—测试人员提交缺陷给开发人员

2、打开—待处理

3、拒绝—程序员认为不是缺陷或重复,就可修改为拒绝

4、修复—程序员修改缺陷后的状态

5、关闭—测试人员经过回归测试后,认为此缺陷已经解决,将其关闭

6、推迟—可以放在后续版本解决的问题,但是要详细写出修复的日期或版本

BUG的六要素:

BUG的生命周期:

测试和开发流程的关系、

瀑布流(模式):需求分析-设计-编码-实现-软件测试-完成-维护

V模型:

需求分析                            验收测试

概要设计                     系统测试

详细设计              集成测试

编码            单元测试

W字型(双V):

螺旋型、

敏捷
戴明环、5W2H等分析管理的方法
质量管理体系CMMI(了解)

———————————————————————————————————

第二阶段 工具学习

  • 接口测试工具:postman
  • 抓包工具:fiddler
  • 数据库管理工具:Navicat
  • 项目/BUG管理工具:禅道、QC
  • 性能测试工具:loadrunner、jmeter。

以上的这些工具都是纯图形化的,很好掌握,估计就性能测试工具稍微会费点时间。
loadrunner11下载地址:
链接:https://pan.baidu.com/s/1eS2ciFg 密码:6ahk
jmeter下载地址:
链接:https://pan.baidu.com/s/1nvzgd0d 密码:ptza
其他的工具你们直接去对应的官网下在就行了。
工具的部分教程:
loadrunner入门:https://www.imooc.com/learn/714
jmeter入门:https://www.imooc.com/learn/735
fiddle和postman入门:https://www.imooc.com/learn/738

Fiddler   Charles  jmeter  postman  xshell  Navicat

原文地址:https://www.cnblogs.com/xlfdqf/p/12307183.html

时间: 2024-09-30 11:19:01

1、软件测试基础的相关文章

软件测试基础学习笔记

LR学习笔记 I.         软件测试基础 1.     软件的概念:程序与文档的结合. 2.     软件缺陷的概念:指计算机的硬件.软件系统或应用软件出现的错误,即为BUG. 1)     硬件错误原因:设计错误和硬件部件老化失效 2)     软件错误原因:软件开发企业设计错误引发 3.     软件生命周期的概念:从软件需求的定义.产生直到被废弃的生命周期. II.         软件测试的定义 1.     测试:包含硬件测试和软件测试 2.     测试用例:针对需求规格说明

软件测试基础知识

软件测试基础知识 1.  软件质量与软件测试 软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档.数据以及程序进行测试 软件质量:软件特性的总和,软件满足规定或潜在用户需求的能力 2.  软件测试与质量保证 软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作: 质量保证:通过预防.检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动

测试用例与软件测试基础

一.软件测试基础 软件:简单的理解就是软件是一个集合,包含三个部分:程序代码.文档.数据 软件测试:软件测试就是为了发现错误而审查软件文档.检查软件数据和执行程序代码的过程.其目的在于在软件交付使用前充分发现缺陷并协助相关部门定位.解决缺陷,最后交付一个高质量的软件给用户.软件测试是软件生存周期的一个重要阶段,其主要任务是对被测对象,从初期的需求规格说明书,到最后的系统交付使用,整个过程进行检查.验证,以确保软件质量. 测试目的:基于不同的立场,存在着两种完全不同的测试目的.从用户的角度出发,普

《软件测试基础》读书报告:第四章 输入空间划分

<软件测试基础>读书报告 第四章 输入空间划分 为了更直接地使相同测试需求的值集合是恰好合适,划分输入空间的方式直接的根据输入值的参数来定义输入域.输入参数可能是方法的参数和全局变量,也可能是系统当前的表现状态,或者干脆是用户级给定的一个输入,这都要根据实际情况来划分.总输入域中划分出若干个区域,从这些区域中选出一些值来进行测试. 从参数的域开始,把每个域可能的值划到块里,从块中选取适当的值来组成测试用例的过程就是输入域建模的过程.对于输入与的划分,一般是基于程序相应的某周特性,程序的输入,程

第2章, 软件测试基础

2.1.1,什么是软件测试 软件测试的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估 60%以上的软件错误并不是程序错误,而是分析和设计错误,因此做好软件需求和软件阶段的测试工作就显得非常重要 2.1.2,什么是软件质量 软件质量定义:软件特性的总和,软件满足规定或者潜在用户需求的能力 2..1.3,软件测试与质量保证的区别 质量保证:质量保证的重要工作通过预防.检查与改进来保证软件质量,着重于软件的开发过程.步骤和产物 软件测试:对软件开发的过程产物以及软件进行剖析,软件

软件测试基础(1)

目录 l 软件测试基础 l 掌握软件测试相关的概念 l 掌握软件生命周期以及各阶段相关的工作 l 掌握测试的对象和原则 l 了解软件开发模型 l 掌握软件测试模型及各模型的特点 l 掌握软件测试的方法和类型 l  了解软件测试质量及测试与QA的关系.区别 测试相关概念 IT( information technology )信息科技和产业的意思 软件:一系列按照特定顺序组织的计算机数据和指令的集合程序+数据+文件 产品:能够供给市场,被人们使用和消费,并能满足人们某种需求的任何东西,包括有形的物

软件测试基础入门知识点

软件测试基础入门知识点 一.行业前景 前言 ? 程序员之间流传着这样一句话:有人喜欢创造世界,他们做了开发工程师,有人喜欢挑毛病,所以他们做了测试工程师. 什么是软件测试 软件测试就是利用手工或测试工具按照测试方案和流程对产品进行功能和性能测试,简单的来说就是为软件做"质检". 软件测试的重要性 ? bug 的经济损失: ? 软件 bug 对我们的生活,工作都会带来毁灭性的破坏.据悉,每年的软件 bug 会让整个市场经济带来近600亿美元的损失! 成立软件测试部门的原因 软件测试能提前

软件测试基础知识大全

1.   软件生命周期(SDLC)的六个阶段 1.问题的定义及规划       此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性. 2.需求分析       在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析.需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础."唯一不变的是变化本身.",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行. 3.软

软件测试基础(三) 测试阶段

主要有四个阶段:单元测试,集成测试,系统测试和验收测试. 单元测试 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确.通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为.单元测试通常也是由开发编写的(白盒测试的一种).可以使用的方法有静态代码分析,数据流分析,代码覆盖分析等. 集成测试 集成测试,也叫组装测试或联合测试.在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试.实践表明,

软件测试基础(第一阶段)

系统测试模块 一,测试基础 1,什么是软件测试(定义) 使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异, 这里的软件指:软件的源代码,用户手册,配置数据 这些都是软件的构成,都是我们的测试对象 2.软件测试的目的 发现被测对象和用户需求之间的差异(俗称,找bug) 通过测试活动发现并解决的缺陷,增加人民对被测对象的信心 通过测试,获取被测对象的质量信息,为决策提供数据依据 通过测试活动,预防缺陷,从而降低产品的风险 3.测试原则 测试