软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。
对于大部分软件系统,如何测试及有效的测试,是一个很头痛的问题。在软件工程上,测试是软件工程中极其重要的一部分; 但在具体的实际情况上,无论是时间、人手及资源的调配等原因,使国内大部分软件公司没有进行过理论上的完整的测试。本文想要描述的,就是一种简单可行,又能使软件系统达到最低质量要求的一组测试方法。
你可能已经听说了这个新名词:测试驱动的开发(test-driven development),它在广大程序员、各种杂志和网络中程序员常去的地方都非常流行。它究竟是什么呢?测试驱动的开发是一种方法理论,它强调把测试作为开发过程的一个主要部分。要是关心程序质量的话,在部署之前前就应该测试。几乎所有人都使用某种方法进行测试,所以你可能会问:测试不已经是开发过程的一个部分了吗?测试驱动的开发要让测试成为开发过程的主要部分。
从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷;从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求。软件测试的原则尚没有标准的说法,大多只是经验之谈,以下可以作为测试的基本原则。
什么是升级测试?比如说你们公司开发的产品现已经发布的是V1.0,由于被发现存在缺陷,这时就需开发Patch或Hot Fix,并进行升级测试,然后发布V1.1。
在日常需求的测试过程中,因为时间和资源的相对紧张,往往会遇到PRD不够细致,而UC描述也过于简单的情况,这个时候会让经验不够丰富的测试人员有种无从入手的感觉。其实由于思考方式、对需求的理解程度、开发和编写UC的经验、以及文字描述的习惯不同,开发人员首次提交的UC,并不一定能立即指导测试人员编写出一系列相对健壮的TC。
测试驱动开发(Test Driven Development,英文缩写TDD)是极限编程的一个重要组成部分,它的基本思想就是在开发功能代码之前,先编写测试代码。
面向对象技术所独有的多态、继承、封装等新特点,使OO程序设计比传统语言程序设计产生错误的可能性增大,使得传统软件测试中的重点不再显得那么突出,也使原来测试经验和实践证明的次要方面成为了主要问题。
一直在从事软件测试工作,从04开始,足足有三年多的时间,在这三年里,跟不少的程序员打过交道,从中总结了四类程序员:有负责任的程序员,有不负责任的程序员,有“太自信”的程序员,也有细心的程序员。
做测试很久了,一直为一些问题所困扰,也一直对微软有一种顶礼膜拜的向往,终于有一天,近距离的接触了微软的测试,感觉不是以前想象中那么遥不可及,却又难以企及。于是把个人觉得微软值得借鉴的地方整理了一下,希望能对大家有所帮助。
本文作者所设计的TMM(Testing Maturity Model,测试成熟度模型),补充了这方面的不足,对测试专家/软件质量专家要进行测试过程自身评估和改进提供了极大帮助。对于刚进入测试领域的新人,也不失为了解测试规范要求、理清自身学习和发展思路的好参考。
测试分析在整个测试过程中占据很重要的位置,测试分析做好了,使一些项目设计方面考虑不足的因素在前期就被发现,降低了项目的风险,提高了测试效率,节约了很多的成本。