软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
详细分类
角度细分
从是否关心软件内部结构和具体实现的角度划分(按测试分类)
A.
白盒测试
B.
黑盒测试
C.
灰盒测试
从是否执行程序的角度
A.
静态测试
B.
动态测试。
阶段细分
从软件开发的过程按阶段划分有
A.
单元测试
在单元测试时,测试者需要依据 详细设计说明书和源程序清单,了解该模块的I/O条件和模块的 逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。(程序员做)
单元测试是从开发者的角度来编写的。它们确保类的每个特定方法成功执行一系列特定的任务。每一个测试都要保证对于给定的一个已知的输入应该得到所期望的输出。
编写一系列可维护、自动化、没有 测试框架的单元测试几乎是不可能的。在你开始之前,选择一个项目小组都认可的框架。不断地应用它,逐渐地喜欢它。在极端编程的介绍网页上,有很多适用的单元测试框架。我喜欢用的是Juint 来进行Java 代码的测试。
功能测试是从用户的角度编写的。这种测试确保系统执行用户期望它执行的工作。
如果单元测试跨越类边界,则它就可能是功能测试。
在单元测试时,测试者需要依据 详细设计说明书和源程序清单,了解该模块的I/O条件和模块的 逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。(程序员做)
单元测试是从开发者的角度来编写的。它们确保类的每个特定方法成功执行一系列特定的任务。每一个测试都要保证对于给定的一个已知的输入应该得到所期望的输出。
编写一系列可维护、自动化、没有 测试框架的单元测试几乎是不可能的。在你开始之前,选择一个项目小组都认可的框架。不断地应用它,逐渐地喜欢它。在极端编程的介绍网页上,有很多适用的单元测试框架。我喜欢用的是Juint 来进行Java 代码的测试。
功能测试是从用户的角度编写的。这种测试确保系统执行用户期望它执行的工作。
如果单元测试跨越类边界,则它就可能是功能测试。
B.
集成测试
集成测试也称联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。其主要目的是检查软件单位之间的接口是否正确,集成测试的对象是已经经过单元测试的模块
集成测试也称联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。其主要目的是检查软件单位之间的接口是否正确,集成测试的对象是已经经过单元测试的模块
C.
确认测试
E.
验收测试
验收测试是部署软件之前的最后一个测试操作。在软件产品完成了 单元测试、 集成测试和 系统测试之后,产品发布之前所进行的 软件测试活动它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试是部署软件之前的最后一个测试操作。在软件产品完成了 单元测试、 集成测试和 系统测试之后,产品发布之前所进行的 软件测试活动它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
G.
Alpha测试
H.
Beta测试