zoukankan      html  css  js  c++  java
  • 软件测试基础

    软件测试行业基本介绍

    一、为什么需要软件测试

    1.一款软件从无到有经历了很多的阶段由不同的程序员进行开发,所以最终软件可能存在功能性的问题,所以需要测试

    2.当今用户不仅仅盯着软件的功能是否可用,还关注软件是否容易上手(易用性)、执行效率是否ok、界面是否美观.......等一系列的要求,所以需要对软件进行大量的测试

    二、为什么选择软件测试

    1.国内软件行业对软件测试人员的需求在慢慢增加

    2.有些人喜欢创造世界,所以他们成了开发,而测试人员希望这个世界更加美好

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

    1.当前行业中,有些测试人员之前就是做开发的

    2.专业度:软件测试和软件开发属于软件行业当中两个不同的技术方向,所以让专人做专事对于质量更有保障

    3.思维方式:在软件开发过程中,开发人员在大部分时间都在考虑如何实现软件的功能,而不会从用户的角度去奇葩的使用软件

    4.测试力度:相对与开发来说软件就相当于他们的孩子,下手不会那么狠

     软件测试基本介绍

    一、软件测试定义

    通过手工或者"工具“对被测对象进行测试,从而验证实际结果与预期结果之间是否存在差异

    二、软件测试的作用

    1.通过测试工作可以发现并修复软件中存在的缺陷,从而保证软件的质量

    2.测试可以记录运行当中产生的一些数据,从而为决策提供数据支持

    3.测试可以降低同类型开发遇到问题的风险

    三、软件测试的原则(所谓的测试原则就是在软件测试过程中需要遵守的规则)

    1.测试是为了证明软件是有缺陷的

    2.不能进行穷举测试:有些测试不能将所有的情况都罗列出来,但是所有的测试都有结束时间

    3.缺陷的群集现象:二八原则,对于软件来说核心功能占二十,非核心功能占八十,百分之八十的错误集中在百分之二十的核心模块中

    4.某些测试需要依赖特殊环境

    5.测试应尽早介入

    6.杀虫剂现象:同样的测试用例不能重复执行多次,因为软件会产生免疫

    7.不存在缺陷谬论:任何软件不可能是完美的

    测试对象

    对于当前软件行业来说,经常测试的主体部分是软件的功能,可以将软件分为三个部分:功能集合、软件使用说明书、配置数据 

    对于一款软件来说,从无到有需要不同的过程,我们可以把这些过程分成不同的阶段,然后针对不同的阶段进行不同的测试

      1.需求分析阶段:各种规格需求说明书

      2.软件架构设计:API接口文档(接口测试)

      3.编码实现阶段:源代码(白盒测试,单元测试)

      4.系统测试阶段:软件功能主体的测试(现在进行的最多的一种测试,黑盒功能测试)

    测试级别

      软件测试都会依据相应的开发模型,测试级别是指在这个模型中我们认为定义的开发步骤,其中对于测试来说我们最常见的一种测试级别分类如下

      1.单元测试:(unit test简称UT)在软件测试过程中,单元是指组成软件的最小的底层代码结构,一般就是类、函数、组件

      2.集成测试:(system ingertaion test 简称IT)将多个单元模块组合在一起,然后验证他们之间沟通的桥梁是否能正常工作(接口测试)

      3.系统测试:(system test 简称ST)由测试人员充当用户然后对软件主体功能进行测试(当前软件行业做的做多的一种测试)

      4.验收测试:

        α测试:内侧

        β测试:公测

        UAT测试:(user acceptance test)由客户派出对业务十分精通的人员来使用软件,从而对功能进行测试

        验收测试的核心就是让用户为当前软件“买单”

    系统测试的分类

      1.功能测试:验证软件当前功能是否可用

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

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

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

    常见的系统测试的方法

      一.按测试对象进行分类

        白盒测试:测试软件的底层代码,不在意页面是否OK,只在意软件底层功能的实现,同时逻辑正确

        黑盒测试:测试软件外在主体功能进行测试

        灰盒测试:介于白盒测试和黑盒测试之间(接口测试)

      二.按测试对象是否运行程序进行分类

        静态测试:指的就是不执行软件,如文档测试,静态页面测试

        动态测试:运行软件进行主体功能的测试

      三.按照测试手段进行分类

        手工测试:由测试人员手动的对被测对象进行验证,优点在于可以灵活的改变测试环境及操作,

        自动化测试:自动化测试主要有两种形式,一种是自己写自动化测试脚本,一种是利用第三方提供的工具进行测试,优点是可以高效率的实现一些人工无法实现的操作

    软件质量

      描述当前软件是否好用,在当前的软件行业中我们采用的一套标准是基于ISO组织指定的,需要了解软件质量的六大特性

        1.功能性:软件功能满足用户的显示和隐示的功能

        2.易用性:软件易于学习,容易上手

        3.可靠性:软件必须实现需求当中指明的具体功能

        4.效率性:类似于软件性能

        5.可维护性:要求软件具有将缺陷修复之后继续使用的功能

        6.可移植性:当前软件可以从一个平台移植到另一个平台可以使用的功能

        (功能靠用,效率可“以”)

    软件测试流程

      1.需求分析:

        (1)当前阶段的核心目的就是要梳理我们需要设计的点是什么

        (2)需求的来源:需求规格说明书、API文档、竞技产品分析、个人经验

      2.设计测试用例

        (1)用例就是用户为了测试这个软件某个功能而执行的操作过程

        (2)设计测试软件的方法(等价类划分、因果图、场景法、正交验证、边界值、判定表)

      3.评审测试用例:对当前的用例进行审核,删除多余,增加没有的

      4.配置环境:

        (1)环境:指的就是当前被测对象运行所需要的执行环境(一般情况下都是使用一键安装的集成环境)

        (2)环境分类:操作系统+服务器软件+数据库+软件底层代码的执行环境

      5.执行测试用例

        (1)一般在执行测试用例之前,我们先做一个冒烟测试,这种测试的核心就是对软件的核心功能或者主体流程进行验证,如果冒烟测试过程有问题,则可以将此版本退给给开发

        (2)如果冒烟测试通过,才进行全面的测试

      6.回归测试及缺陷跟踪

        回归测试:当我们将某个缺陷提交给开发,由开发进行修复,修复完成之后,测试人员再次对此功能进行验证

        缺陷跟踪:指的就是测试人员发现缺陷后,对其状态的跟踪

      7.输出测试报告

        将当前测试过程中产生的数据进行可视化的输出,方便其他人查看

      8.测试结束

        将整个测试过程中产生的文档进行整理归档,方便后续版本使用

    软件架构

      1.所谓的软件架构可以理解为是指导我们开发的一种思想,目前常见的两种架构就是B/S和C/S两种

        B-browser浏览器

        C-clent客户端

        S-server服务器

      2.两种架构的比较

        标准:相对于C/S架构的软件,B/S架构的软件两端,都在使用成熟产品,所以B/S架构显得标准一些

        效率:相对于B/S架构来说,C/S架构的软件的客户端会分担一些存储功能,执行效率更高一些

        安全:BS架构中的数据传输是依靠HTTP协议进行传输,而HTTP协议又是明文传输,可以被抓包,所以相对一cs架构来说不那么安全

        升级:BS架构只需要在服务器端进行数据的更新,前台在浏览器中进行刷新页面就可以完成跟新,而CS架构就需要将两端都进行更新

        开发成本:相对于BS架构来说,CS架构软件中的客户端需要进行开发,所以成本更高一些

    浏览器基本介绍

      1.浏览器是什么

        浏览器是一款安装在系统上的软件,给用户提供浏览网页的服务

      2.五大浏览器的生产厂商

        IE(微软)

        chrome(谷歌)

        Firefox(火狐)

        Safarl(苹果)

        Opera(欧朋)

          

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    2014年工作总结
    正则表达式语法规则
    按照事务类型分析 DB2 事物的性能
    DB2定位锁等待
    深入研究线程池
    WebSphere应用服务器内存泄漏探测与诊断工具选择最佳实践
    一次WebSphere性能问题诊断过程
    WebSphere Application Server诊断和调优
    将 Spring 和 Hibernate 与 WebSphere Application Server 一起使用
    Websphere Application Server 环境配置与应用部署最佳实践
  • 原文地址:https://www.cnblogs.com/jingdenghuakai/p/11120181.html
Copyright © 2011-2022 走看看