出自:博客园
说明:这篇文章是个人工作之外的一点思考,而针对文章中的具体内容或者个人观点,仅供娱乐,看了也就看了,千万不要较真。 如果要说软件测试的发展,那第一问题就需要明白“软件测试”是个什么鬼。针对这个问题我特地借用度娘的魅力,在某度百科上面找到找到了一段关于软件测试的描述: 软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。 软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 针对某度上面的内容,个人不做评价在《软件测试的艺术》一书里面作者针对软件测试的描述: 所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。软件应当是可预测且稳定的,不会给用户带来意外惊奇。 合适的定义应该是: “测试是为发现错误而执行程序的过程”。 《软件测试的艺术》是我第一本让我全面了解软件测试专业的书籍,而且我在后期的过程中,发现其他的软件测试技术相关的书籍,都会有概书的影子。 从上面的内容可以看到,最初或者现在的软件测试的基本定于还是一个“为发现错误或者评估错误而做的软件执行过程”,然而纵观现在的软件测试从业人员的工作内容和工作职责,已经早早脱离了这个最为基本的定义,现在的软件测试人员一般都需要对需求进行评审、测试、对框架进行讨论和测试、对代码规范进行扫描,对程序接口进行接口测试、对模块进行集成测试、后期还有系统测试、验收测试、α测试、β测试。除此之外还有各种专项测试,比如自动化测试、性能测试、安全测试、稳定性测试等等。那现在是不是现在的软件测试工作已经不叫软件测试了呢? 所以在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程。 软件测试是一个工作,而工作涉及到的范围是会随着时代的变迁而进行变化的,软件测试也是一样,也会遵循基本的发展规则,适应变化,拥抱变化这样才能更好的去发展,所以现在并不能说之前的软件测试的定义就是错误的,而现在所做的工作就不是软件测试的工作,其实现在我们所做的所有的努力,目标只有一个:达成项目目标;或者说达成我们的产品目标。现在的软件测试已经脱离了之前单独的为了执行为发现错误的初级阶段,现在已经进化到了全面保障阶段;现阶段的软件测试遵循最初的软件测试核心思想—提高质量;进行一系列的改进。所以当前的软件测试的定义可能换另外一种非方式更为合适:为了达到质量目标的一些列活动都可以定义为软件测试。软件测试是一个方法论。一种项目实践。 关于软件测试的发展阶段,到目前为止,共经历了三段发展历程,后续还有两个阶段。具体内容,留点悬念,下次再说。
|