软件测试&开发过程随笔

Posted wandn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试&开发过程随笔相关的知识,希望对你有一定的参考价值。

1.软件测试

 

 

技术图片

  1.单元测试 

   又称模块测试,针对软件设计中的最小单位——程序模块,进行正确
性检查的测试工作。单元测试需要从程序的内部结构出发设计测试用
例。多个模块可以平行地独立进行单元测试。
单元定义:C中指一个函数,Java中指一个类,在图形化的软件中,单
元一般指1个窗口,1个菜单。 
 
 
技术图片
 
  2.集成测试
  又叫组装测试,通常在单元测试的基础上,将所有程序模块进行
有序的、递增的测试。重点测试不同模块的接口部分。
技术图片
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
技术图片
 
  3.系统测试
  指的是将整个软件系统看为一个整体进行测试,包括对功能、性
能、以及软件所运行的软硬件环境进行测试。
系统测试在系统集成完毕后进行测试,前期主要测试系统的功能
是否满足需求,后期主要测试系统运行的性能是否满足需求,以
及系统在不同的软硬件环境中的兼容性等。 
 
 
  4.黑盒测试
  又称数据驱动测试,完全不考虑程序内部结构和内部特性,注重
  于测试软件的功能需求,只关心软件的输入数据和输出数据。
  【1】黑盒测试的优点
    测试人员不需要了解实现得细节,包括特定的编程语言(没有编程经验的人也可
    以设计测试用例);
    测试人员和编程人员是相互独立的(黑盒测试用例设计与程序如何实现无关);
    从用户的角度进行测试,很容易被接受和理解;
    有助于暴露任何与规格不一致或者歧异的地方;
  【2】黑盒测试的缺点
    不能测试程序内部特定部位;
    如果程序未执行的代码无法发现;
    不可能做到穷举测试
  
  5.白盒测试
 指的是把盒子打开,去充分研究里面的源代码和程序结构。
 
  6.灰盒测试
   灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,既可保证黑
盒的关注点又可掌控白盒的内部结构,但不会去对内部程序功能和运
作做详细了解,灰盒测试结合了白盒测试和黑盒测试的要素。
 
  7.静态测试
  指不实际运行被测软件,而只是静
态地检查程序代码、界面或文档中可能存在的错误过程。
 
技术图片
 
  8.动态测试
  是指实际运行被测程序,输入相应
的测试数据,检查实际输出结果和预期结果是否相符的过程。
 
  9.验收测试
  【1】α测试
    Alpha 是内测版本,即现在所说的CB,此版本表示该软件仅仅是一个初步完成品, 通常只在软件开发者内部交
  流, 也有很少一部分发布给专业测试人员。一般而言, 该版本软件的bug 较多, 普通用户最好不要安装。
  【2】β测试
    Beta是公测版本,是对所有用户开放的测试版本。该版本相对于α 版已
  有了很大的改进,消除了严重的错误, 但还是存在着一些缺陷,需要经过
  大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布, 用户可从相关的站点下载。通过一些专业爱好者的测试, 将结果反馈给
  开发者, 开发者们再进行有针对性的修改。该版本也不适合一般用户安装。
  【3】γ测试
    Gamma版本,指的是软件版本正式发行的候选版。该版本已经相当成
   熟了, 与即将发行的正式版相差无几, 成为正式发布的候选版本。
 
   9.随机测试(探索测试)
   随机测试主要是对被测软件的一些重要功能进行复测,也包括测试
那些当前的测试用例没有覆盖到的部分。另外,对于软件更新和新增
加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、
并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,
可以结合回归测试(Regressivetesting)一起进行。
 
 

2.软件开发(模型)

  1.瀑布模型
  是线性模型的一种,在所有模型中占有重要地位,是所有其他模型的一个基础。
每一个阶段执行一次,按线性顺序进行软件开发。
    测试的切入点:
   测试阶段处于软件实现后,必须在代码完成后留出足够的时间给测试活动,
否则将导致测试不充分,
很多问题到项目后期才暴露
 
技术图片
 
优点:            缺点:
  开发的各个阶段比较清晰。   依赖于早期的需求调查,不适应需求的变化。  
                   风险往往延至后期才显露,失去及早纠正的机会。
  强调早期计划及需求调查。    单一流程不可逆。
                   问题在项目后期才开始暴露。
   适合需求稳定的产品开发。     前面未发现的错误会传递并扩散到后面的阶段,可能导致项目失败。
 
 
  2.快速原型模型
  在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。
第一步是建造一个快速原型,实现用户与系统的交互,用户对原型进行评价,
进一步细化待开发软件的需求。通过逐步调整原型使其满足用户的要求,
开发人员可以确定用户的真正需求是什么。
第二步是在第一步的基础上开发出用户满意的软件产品。

 

技术图片

优点:                     缺点:
  克服瀑布模型的缺点,更好地          不适合大型系统的开发(适合开发小型的、灵活性高的系统)。
  满足用户的需求并减少由于软           前提要有一个展示性的产品原型,
  件需求不明确带来的项目开发           因此在一定程度上可能会限制开发人员的创新。
  风险。适合预先不能确切定义
  需求的软件系统的开发。
 
 
  3.螺旋模型
  螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相
符合,螺旋模型沿着螺旋线旋转,即在坐标的4个象限上分别表示了4个方
面的活动,如图所示:
技术图片
 

优点:                           缺点:

  螺旋模型很大程度上是一种风险驱动的方法体系,        采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,

  因为在每个阶段之前及经常发生的循环              在风险较大的项目开发中, 

  之前,都必须首先进行风险评估。                 如果未能够及时标识风险,

                                 势必造成重大损失。

                                 过多的迭代次数会增加开发成本,延迟提交时间

黑盒测试

以上是关于软件测试&开发过程随笔的主要内容,如果未能解决你的问题,请参考以下文章

软件工程导论作业(文章改随笔)

《构建之法》第七次随笔

第三章 软件工程师的成长随笔

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

接口性能测试随笔

构建之法 随笔