软件测试的一点知识[1]

软件测试的一点知识[1]

软件测试的定义:

软件测试是为了发现错误而执行程序的过程
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程

软件测试的对象:

软件测试不等于程序测试.软件测试贯穿于软件定义和开发的整个期间.需求分析,概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象.

测试的目的:

测试是程序的执行过程,目的在于发现错误;
一个好的测试用例在于发现至今未发现的错误;
一个成功的测试是发现了至今的错误的测试.

测试的种类:

黑盒测试 基于软件需求,而不是基于软件内部设计和程序实现的测试方式。
白盒测试 基于软件内部设计和程序实现的测试方式。
单元测试 主要测试软件模块的源代码。一般由开发人员而非独立测试人员来执行,因为测试者需要懂得该单元的设计与程序实现,测试者可能需要编写额外的测试驱动程序。
集成测试 将一些“构件”集成一起时,测试它们能否正常运行。这里“构件”可以是程序模块、客户机-服务器程序等等。
功能测试 测试软件的功能是否符合功能性需求,通常采用黑盒测试方式。一般由独立测试人员执行。
系统测试 测试软件系统是否符合所有需求,包括功能性需求与非功能性需求。一般由独立测试人员执行,通常采用黑盒测试方式。
回归测试 指错误被修正后或软件功能、环境发生变化后进行的重新测试。回归测试的困难在于不好确定哪些内容应当被重新测试。
验收测试 由客户或最终用户执行,测试软件系统是否符合需求规格说明书。

负载测试 测试软件系统的最大负载,超出此负载软件可能会失常。
压力测试 概念上与负载测试相似,叫法不同。
性能测试 测试软件在各种状况下的性能,如在正常或最大负载下的状况。
易用性测试 测试软件是否易用,主观性比较强。一般要根据很多用户的测试反馈信息,才能评价易用性。
安装与反安装测试 测试软件在“全部、部分、升级”等状况下的安装/反安装过程。
恢复测试 测试该系统从故障中恢复过来的能力。
安全性测试 测试该系统防止非法侵入的能力。
兼容性测试 测试该系统与其它软件硬件兼容的能力。
比较测试 通过与同类产品比较,考察该系统的优点、缺点。
Alpha 测试 一种先期的用户测试,此时系统刚刚开发完成。
Beta测试 一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。

测试的分类与比较:

l测试方式
l白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档
l黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档
l 测试阶段
l单元测试、集成测试、系统测试、验收测试。是“从小到大”、“由内至外”、“循序渐进”的测试过程,体现了“分而治之”的思想。
l单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。
l集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既要验证“设计”又要验证“需求”。
l系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
l验收测试与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。

转载于:https://www.cnblogs.com/buzaixian/archive/2009/09/27/1575257.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110859.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机竞赛初赛,计算机基本应用能力竞赛试题(初赛)(1)_已测

    计算机竞赛初赛,计算机基本应用能力竞赛试题(初赛)(1)_已测

    2021年8月16日
    139
  • Java学习之spring MVC常用注解

    Java学习之springMVC常用注解0x00前言续上篇文章的内容继续来记录springmvc会常用到的一些注解。0x01常用注解RequestParam注解@Controller

    2021年12月12日
    41
  • CAP以及分区容错性的含义「建议收藏」

    CAP以及分区容错性的含义「建议收藏」一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。提高分区容忍性的办法就是一个数据项复制到多个节点上,那么出现分区之后,这一数据项就可能分布到各个区里。容忍性就提高了。然而,要把数据复制到多个节点,就会带来一致性的问题,就是多个节点上面的数据可能是不一致的。要

    2022年7月25日
    13
  • export方法_import怎么用

    export方法_import怎么用基础命令学习目录首页export的基本作用就是将父shell中的局部变量设置为环境变量,使得该变量可以在子shell中使用。下面设置两种情景对export进行原理解析。情景1.有一个名为myexport.sh的脚本,内容如下:#!/bin/shexportMY_PATH=/usr/local12在linux环境中打开终端运行该shell$shmy…

    2022年9月7日
    4
  • MySQL修改表名注释「建议收藏」

    MySQL修改表名注释「建议收藏」MySQL修改表名注释altertabletest1comment’修改后的表的注释’;

    2022年6月1日
    42
  • decode encode区别_python decode和encode

    decode encode区别_python decode和encode#-*-coding:utf-8importsys”’*首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb231…

    2022年10月7日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号