软件测试基础知识(摘)

一、软件测试基本概念

  1.软件=程序+文档,软件测试=程序测试+测试文档。

  “软件”是指能够实现某种功能的指令集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。

  2.软件分类

    按功能分:系统软件、应用软件

    按技术架构分:单机版软件、C/S结构软件、B/S结构软件(B指浏览器)

    按使用的用户分:产品软件、项目软件

    按规模分:小型、中型、大型

  3.BUG的定义

    软件的BUG指软件(包括程序和文档)中不符合客户需求的问题。常见三类BUG:完全没有实现的功能;基本实现了客户需求的功能;实现了用户不需求的功能。

  4.测试环境的分类:软件开发环境,软件生产运行环境。测试环境=软件+网络+硬件,搭建环境:真实、干净、无毒、独立。

  5.测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和及其结果!测试用例=输入+输出+测试环境。测试用例有两个模板,word和excel,前者适合性能测试,后者适合功能测试。

二、软件测试分类

  1.黑盒测试:把被测得软件当作一个盒子,我们不用去关心盒子里面是什么样子的,只需要放东西再取出东西,就像在测试时只关心软件的输入数据和输出结果。

  2.百合测试:需要我们了解盒子里面是什么样的,去研究里面的源代码和程序结构。

  3.静态测试:不实际运行被测软件,而只是检查程序代码、界面或文档中可能存在的错误。

  4.动态测试:实际运行代码,输入相应的测试数据,检查实际输出结果和预期结果是否相符。判断一个测试是动态测试还是静态测试,就可以看它是否运行了程序。

  注:同一个测试,既有可能属于黑盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于白盒测试。他们之间有可能会交叉。

  5.单元测试:编译运行程序->静态测试->动态测试

  6.集成测试:单元测试的下一个阶段,指通过测试的单元模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口处。

  7.系统测试:将这个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。

  8.验收测试:在系统测试后期,以用户测试为主,或有测试人员等质量保障人员共同参与测试,它也是软件正式交给用户使用的最后一道工序。

    验收测试又分为α测试和β测试,α测试是指由用户、测试人员、开发人员等共同参与的内部测试。β测试指在内测之后的公测,完全交给最终用户测试。

  9.功能测试:是黑盒测试的一种,它检查软件的功能是否符合用户的需求。功能测试又可细分很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。

  10.性能测试:它包括很多方面,主要分时间性能和空间性能测试两种。时间性能:主要指软件的一个具体事务的相应时间。空间性能:主要指软件运行时所消耗的系统资源。

  软件性能测试分一般性测试、稳定性测试、负载测试和压力测试。

    一般性测试:指让被测系统在正常的软硬件环境下运行,不向其施加任何压力的测试。

    稳定性测试:即可靠性测试,是指连续运行内测系统,检测系统运行时的稳定程度。我们常用MTBF(错误发生的平均时间间隔)来衡量系统的稳定性,越大稳定性越强。

    负载测试:通常指被测系统在其能忍受的极限范围内连续运行,来测试系统的稳定性。

    压力测试:指连续不断地给被测系统增加压力,知道被测系统被压垮为止,用来测试系统能承受的最大的压力。

    假设一个很轻松的就能被一袋大米,背两袋米很吃力,最多就能背三袋,那么:

    一般性测试:我就让他背一袋米。

    稳定性测试:让他背一袋米,但让他去操场上跑圈,看你多久累倒。

    负载测试:让他背两袋米去操场跑圈,看他多久累倒。

    压力测试:让他背两袋米、三袋米、四袋米。。。最后发现他最多就能背三袋米。

  11.回归测试:指对软件的新版本测试时,重复上一个版本的测试用例。

  12.冒烟测试:在对新版本进行大规模的测试之前,先验证一下软件的基本功能是否还存在,是否具备可测性。

  13.随机测试:指测试中所有的输入数据都是随机生成的,真实意图是模拟用户的真实操作,并发现一些边缘的问题。

三、测试工程师

  1.具备的基本职业素质:三心二意一能力。三心:细心、耐心、信心;二意:服务意识、团队意识;一能力:沟通能力。

  2.如何成为一名优秀的测试工程师:

    内功:即基础知识,包括计算机硬件、网络、操作系统、数据库等。

    测试技术:黑盒测试中等阶类、边界值、因果图等,白盒测试中的语句覆盖、分支覆盖、路径覆盖等。

    不断学习充电、阅读原版书籍、阅读缺陷管理系统中的系统报告、阅读高手写的测试用例、学习产品相关的业务知识。

  3.SQA:软件质量保障,CMM是SQA用来监督项目的一个标准质量模型,SQA按照它上面的各种规则来检验各种各样的项目。CMM:能力成熟度模型。

  4.软件测试的原则:

    1)zero bug:指软件没有一个bug。(没有bug是不可能的,我们只能想方设法把bug数量控制在看忍受的范围之内。)

     good enough:指只要软件达到一定的质量要求时,就可以停止测试了。

    2)不要试图穷举测试。

    3)开发人员既不是运动员也不是裁判员。

    4)软件测试要尽早执行。

    5)软件测试应该追溯需求。

    6)缺陷的二八定理:缺陷的集群现象或是虫子窝现象。

    7)缺陷具有免疫性。

  5.BUG的分类

    BUG严重级别:Severity,指因缺陷引起的故障对软件产品的影响程度。由测试人员指定。

    A:这类BUG导致了死机、产品失败(“崩溃”)、系统无法操作等。

    B:功能未实现或导致一个特性不能运行并且不可能有代替方案(包括计算错误)。

    C:导致一个特性不能运行但有一个替代方案。

    D:BUG是表面化或微小的(提示信息不太准确友好、错别字、UI布局或罕见故障等),对功能几乎没有影响,产品及属性仍可使用。

    E:建设性的建议或意见。

    BUG优先级:指缺陷必须被修复的紧急程度。由BUG分配者(开发组组长/经理)指定。

    5:立即进行修复,阻止与此密切相关功能的进一步测试。

    4:必须修改,发版前必须修改。

    3:必须修改,不一定马上修改。

    2:如果时间允许应该修改。

    1:允许不修改。

  6.缺陷类型(TYPE):根据缺陷的自然属性划分的缺陷种类。

    bulid:由于配置库、变更管理或版本控制引起的错误。

    data :数据、数据库、计算错误等。

    function:影响了重要的特性、产品接口、硬件结构接口和全局数据结构。如逻辑、指针、循环、递归、功能等缺陷。

    interface:与其他组件、模块或设备驱动程序、调用参数、控制块或参数列表相互影响的接口缺陷。

    performance:不满足系统可测量的属性值,如:执行时间,事务处理效率等。

    reqiurement:需求方面缺陷,如:不明确、错误、考虑不全面等。

    user Interface:人机交互接口:屏幕格式,页面排版、控件位置等方面的缺陷。

    其它:未知错误。

  7.BUG状态(STATUS)

    指缺陷经过一个修复过程中的进展情况。包括Open、Fixed、Closed及Postponed等状态。

    Open:测试人员提交新发现的问题所使用的标志。或者是任务分配人对该问题准备进行修改并对个问题分修改人员所使用的标志。对没有进入此状态的BUG,程序员不用管。

    Fixed:为开发人员修改问题后做标志的状态,修改后还未测试。

    Closed:为测试人员对修改问题进行验证后通过所标志的状态。由测试人员改变。

    Postponed:1.由于开发时间、进度、重要程度或者技术、设计、需求等方面的原因,认为不能解决、需延迟解决、或本版本不做解决,待到后续版本再来解决。2.因设计结构问题无法修改。测试人员认为它不符合逻辑、也不符合用户的要求,但开发人员则认为死按照设计做的、只能做如此处理,否则修改代价太大,这种问题可以拖后处理。

    duplicated:BUG被重复提交。

    Not error :测试人员理解错,不是BUG。

  8.提交BUG注意事项:确保重现、要用最少且必要的步骤描述BUG、简洁准确完整、一个BUG一个报告。

  9.常见的BUG管理工具:TD、Track Record、Clearquest、Bugzilla、Mantis、JIRA。

四、软件测试工具简介

  1.一般软件测试工具:黑盒测试工具、百合测试工具、测试管理工具。

  2.MI loadrunner:性能测试。MI winrunner:功能测试。MI testdiretor:测试管理工具。MI QTP:功能测试工具

    

    

原文地址:https://www.cnblogs.com/weno/p/9822947.html

时间: 2024-10-06 22:36:22

软件测试基础知识(摘)的相关文章

软件测试基础知识

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

软件测试基础知识大全

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

软件测试入门随笔——软件测试基础知识(二)

POINT one:软件测试生命周期--V模型 V模型左边为开发阶段,右边为测试阶段.单元测试和功能测试应检测程序的执行是否满足程序设计的要求:系统测试应检测系统功能.性能的质量特性是否达到系统要求的指标:验收测试确定软件的实现是否满足用户需要或合同的要求. 单位测试:对单元模块的功能.性能进行测试,比如能不能完成登录功能等等.主要由开发人员完成,要求具备一定的读.改代码的能力,有静态测试方法(代码分析)和动态测试方法(白盒.或黑盒) 集成测试:以<软件概要设计说明书>为依据,检验软件单元和已

软件测试基础知识 day 1

软件缺陷   只有符合下列5个规则才能叫做软件缺陷 软件为达到产品说明书标明的功能. 软件出现了产品说明书指明不会出现的错误. 软件功能超出了产品说明书指明范围. 软件未达到产品说明书里未指出但应达到的目标. 软件测试人员认为软件难以理解.不宜使用.运行速度缓慢,或者最终用户任务不好. 软件测试员的目标是发现软件缺陷   黑盒测试和白盒测试 在黑盒测试中,软件测试人员只需要知道软件要做什么即可 —— 而无法看到盒子中是如何运作的.只需要进行一些输入,就能得到某种输出结果,他不知道软件如何运行,为

软件测试入门随笔——软件测试基础知识(四)

about 测试流程 一般公司测试流程 评审需求 分解需求 制定测试计划 设计测试用例 执行测试 提交bug报告 回归测试.验证bug 书写测试报告 经验总结 测试过程模型 瀑布过程模型 以文档驱动,自由度低.实际开发过程中,各部分之间都有某种程度的重叠,造成这种重叠的原因是,任何一个阶段都不可能在下一个阶段开始之前结束. 快速原型过程模型 先做出一个可运行的.功能简单的原型系统,交由客户试用看是否满足客户期望,并根据客户反馈进行修改增补. 优点:关注用户需求,降低由于需求不明确导致项目出错的风

软件测试基础知识1

一.软件测试(Software Testing)的定义 经典定义:在规定的条件下对程序进行操作,以发现错误,也是对软件质量进行评估的一个过程: 二.软件质量的定义 软件满足规定或潜在用户需求的能力,具体说,软件质量是软件符合明确叙述的功能和性能需求,文档中明确描述的开发标准,以及所有专业开发的软件都应该具有的和隐含特征相一致的程度: 三.软件测试与软件质量的区别 质量保证(QA): 主要工作是通过预防,检查与改进来保证软件质量,它所关注的是软件质量的检查与测量,着眼软件开发活动中的过程.步骤及产

软件测试基础知识的总结

希望每个阶段都对自己的收获做一个总结,让自己不断地提升. 一.软件测试概述 1.软件的定义 软件是计算机系统中与计算机硬件相互依存的一部分(程序+数据+相关文档) 程序:按照事先设计的功能和性能要求执行的指令序列:数据:使程序能够正常操纵信息的数据结构:文档:与程序开发.维护和使用有关的图文资料. 2.软件的生命周期 问题的定义(用户需要计算机解决什么样的问题)->可行性研究(进行多方面的可行性分析)->需求分析(用户对软件的需求)->概要设计->详细设计->实现->集

软件测试基础知识——测试用例设计方法

软件测试的分类: 1.按软件功能测试分类:基于规格说明的测试(传统黑盒测试.基于规格说明测试).基于控制流的测试(白盒测试) 传统黑盒测试:边界值.等价类.决策表.因果图 白盒测试:语句覆盖.判断覆盖.条件覆盖.MC/DC覆盖.基本路径覆盖. 基于规格说明测试:状态机.UML.Petri网.Z规约 其他测试:冒烟测试.随机测试.错误猜测测试.故障树测试.基于蜕变的测试 2.根据测试阶段分类: 单元测试:对软件中最小的可测单元进行验证,可以是一个函数.一个类.一个类的方法. 集成测试:将单元模块组

软件测试基础知识题目

基础题(65分) 1.什么是需求?需求有哪些来源?(3分) 答:需求的分类:直接需求(用户直接需求告知要求)和间接需求(行业需求要求):需求的定义:准确的描述用户需求: 来源:行业.用户.团队.运营.客服.自己(调研反馈.数据分析.竞品分析):数据分析:产品功能使用情况,如行业报告.产品后台数据等挖掘用户需求:调研反馈:通过市场调研或用户调研等方式挖掘用户真实需求:竞品分析:确立竞品分析的目的,然后分析竞品的功能和内容都有什么,通过与竞品的对比得出自身产品的需求: 直白点说:01:来源客户要求: