记录软件测试复习(2)

129 阅读3分钟

软件测试复习(2)

一、软件测试概念

1、经典定义:软件测试(Software Testing),在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

2、标准定义:软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

3、软件测试的目的:软件测试目的在于发现问题,检查系统是否满足需求。

二、软件测试方法和分类

1、按生命周期分为:

  • 单元测试
  • 冒烟测试
  • 集成测试
  • 系统测试
  • 验收测试

2、按测试方法分为:(包括白盒测试、黑盒测试、灰盒测试、其它)

a. 白盒测试分为:

  • 静态分析
  • 动态分析(包括逻辑覆盖测试和插桩测试) 逻辑覆盖测试(又包括语句覆盖 + 判定覆盖 + 条件覆盖 + 路径覆盖)

b.黑盒测试分为:(功能测试 + 自动化测试 + 性能测试 )

  • 功能测试 包括 界面测试 + 冒烟测试 + 回归测试 + 业务测试 + 兼容性测试 + 易用性测试

  • 自动化测试 包括 Web自动化测试 + 接口自动化测试

  • 性能测试 包括 性能测试 + 负载测试 + 压力测试 + 容量测试 + 并发测试 + 持久性测试

c.灰盒测试

d.其他 包括 随机测试 + 探索性测试 + 阿尔法测试 + 贝塔测试

三、软件测试常用术语

1、C/S: C指客户端(Client),S指服务器(Server),这种软件是基于局域网或互联网的,需要一台服务器来安装服务器端软件,每台客户端都需要安装客户端软件。比如QQ和英雄联盟都属于C/S架构的软件。

2、B/S(指在网页端): B指的是浏览器(Browser),S指的是服务端,这种软件同样是基于局域网或互联网,更多基于互联网,与C/S区别是不需要安装客户端,只需要有浏览器就可以直接使用,eg:163邮箱、新浪 ,B/S架构是现在软件测试的主流,与C/S相比,便于维护升级,是测试的重点。

3、缺陷【Bug/Defect】

定义:是指软件中(包括程序和文档)不符合用户需求的问题。

4、测试环境 定义:软件测试环境就是软件运行的平台,包括软件、硬件和网络的集合。用一个等式来表示:测试环境 = 软件 + 硬件 + 网络

5、测试用例【Test Case】 定义:在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。用一个等式来简单表示:测试用例 = 输入 + 输出 + 测试环境 其中“输入”指测试数据和操作步骤, “输出”指的是期望结果,“测试环境”指的是系统环境设置。

6、冒烟测试【Smoke Testing】

定义:在对一个新版本进行系统大规模地测试之前,先验证一下软件的基本功能是否能实现,是否具备可测性。

7、阿尔法测试和贝塔测试

  • 阿尔法测试:验收测试的一种,指的是由用户、测试人员、开发人员等共同参与的内部测试。
  • 贝塔测试:也是验收测试测试的一种,指的是内测之后的公测,即完全交给最终用户测试。