什么是软件测试?

软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

1.发现一些可以通过测试避免的开发风险

2.实施测试来降低所发现的风险

3.确定测试何时可以结束

4.在开发项目的过程中将测试看作是一个标准项目。

5.测试的其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

软件测试是一个入门简单、但深入难的工作入门的时候只要会看懂中文、理解能力没问题就可以按照测试用例来执行用例了进一步之后需要会的知识会越来越多1、操作系统的知识(什么软件都是运行在操作系统之上的、一般的操作必须要会)2、数据库知识(现在还能找到多少不需要数据库的大型软件捏?)3、计……

考试内容:一、软件测试的基本概念1.软件质量的概念。2.软件测试的目标和原则。3.软件测试的心理学。4.软件测试的经济学。5.软件质量保证。二、软件测试的类型及其在软件开发过程中的地位1.软件开发阶段。2.规划阶段的测试。3.设计阶段的测试。4.编码阶段的测试。5.验收和维护阶段……

阶段:编写测试计划,测试用例、测试缺陷报告,并执行测试用例,搭建Windows测试环境,熟练使用Bugzilla提交软件缺陷报告。使用测试技术及工具:白盒测试和黑盒测试Loadrunner、Winrunner能够运用边界值、等价类划分法、因果图、状态图、大纲法等测试方法设计高效测……

软件测试主要工作内容是验证(verification)和确认(validation),下面分别给出其概念:验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件以正确的方式来做了这个事件(Doitright)1.确定软件生存周期中的一个给定阶段……

1.找一家测试方面的公司,即使是实习,即使不开工资也去看下,学下经验先2.软件测试需要有广泛的计算机相关知识,包括计算机网络,数据库,软件工程等.3.掌握一门开发语言,对其他语言也要熟悉,起码做到能看懂,这样将会对你的发展很有帮助.4.提高自己的英语水平.不可否认,现在软件行业的……

软件开发是创造的过程。构造出一个新的软件。软件测试是维护的过程。一般新开发出一个新的软件一定是有错误或漏洞的,必须要经过各种测试去发现问题,然后解决问题直到完全没有问题然后再进入下一个环节(交付客户或上市销售等)。一般是先开发后测试。软件开发工程师要会编写代码实现软件功能,软件测……

目前中国大多数企业的软件测试人员技术能力都不强,技术含量都不高,原因就在于,软件测试人员分成两种,QCE和QAE,这两者的不同之处就在于,设计和执行,注意我说的先后顺序。你走访各大招聘会,你会发现,公司对于软件测试人员需求很大,他们要的不是一个只会按照安排做事的人,而是一个富有创……

按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试和验收测试。单元测试:针对每个单元的测试,以确保每个模块能正常工作为目标。集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题。确认(有效性)测试:是检验所开发的软件能否满足所有功能……

在白盒测试中,可以使用各种测试方法进行测试。但是,软件测试人员进行白盒测试时要考虑以下5个问题:(1)测试中尽量先用自动化工具来进行静态结构分析。(2)测试中建议先从静态测试开始,如:静态结构分析、代码走查和静态质量度量,然后进行动态测试,如:覆盖率测试。(3)将静态分析的结果作……

一个有竞争力的测试人员要具有下面三个方面的素质:计算机专业技能计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业……

    小编是从事了测试工作7,8年了,多少有些心得体会,一直想写些什么,但又好像无从下笔,直到今天看到一篇博文,同作者的观点甚为认同,于是也决定写下自己的感受。
先来说说原文的几个观点
1. 很多人认为最重要并且最不值钱(这里的值钱指的是值多少工资,并不代表做这件事的价值)的是手工测试,实际上手工测试是最具有价值的测试
 本人对这个观点甚为认同,从事了这么久的测试工作,大多数时间都是在做或者在带同事做手工测试的工作,项目中绝大多数的问题都是通过手工测试发现的。但不知到从什么时候起,从哪里起源一种说法,手工测试是低级的,无技术含量的,测试人员要发展就要从事自动化测试和性能测试。面试过不少刚入行测试的同学,普遍持有这种观点,觉得职业发展就需要从事自动化测试和性能测试。
  与原文的打的一个比喻相似,我也经常用走路和乘车来比喻不同的测试方法。软件测试就好比要去一个目的地,手工测试就像是走路,自动化就像是乘车,乘车自然要比走路要省时省力,当然成本也比较高。现实中,乘车已经很普遍了,效果也非常好,但为什么在软件测试中,自动化所起到的作用没有像乘车那样明显呢?我觉得是“路”的问题。现实中为了开车,先要修路,但软件测试中有没有为自动化所修的路呢?现在大多数的软件,使用对象都是人,都是人手操作的,用手工测试最能模拟到真实的使用环境和使用场景,所以手工测试能发现很多问题。而自动化测试只是用程序去测试了程序,很大程度上忽略了环境和场景,就好像去往目的地有2条路,一条窄窄的人行道和一条宽阔的水泥路,你的车只能在水泥路上行驶,于是人行道的问题自然无法发现。而不幸的是,真实的用户都是走人行道的。
  所以我认为,手工测试和自动化测试并不是低级和高级的区别,而是不同的手段而已,究竟使用什么手段,要根据不同的情况而定,就好像根据不同目的地的路况来选择走路还是乘车一样。
2. 最没有市场的应该是自动化测试
        这个观点我算是同意大半吧,为什么这么说呢,因为就目前国内的情况来说,的确是这样。国内的软件项目普普遍周期短,工期紧,资源少,而自动化测试却刚好相反,需要耗费大量的人力物力和时间,在这两者可以达到平衡之前,我也觉得自动化测试举步维艰。也来打个比喻,自动化测试就像开车去一个目的地需要2天,之前需要修路1个月、买车上牌要1个星期、每天需要加油,如果要求你1个月内就要去到目的地的话,你可能路还没修好。换了手工测试就像是走路,从第1天起就可以走啊走,不停走,可能20天就到了。换到实际中,修路买车就是编写你的自动化程序,加油就是维护你的程序,能不能及时到达目的地,就要看你的程序能不能及时完成。
  有的同学会发现,自动化程序和道路汽车一样,是可以重复使用的,就是说下次我再去的时候,就不用重新修路买车了。如果目的地一样的话,的确是这样的,例如一些做通用产品的同学可能会好一点,因为他们对很多常去的目的地都修了路,但多数同学面对的可能都是各种各样不常去的目的地。正是因为有这些问题,所以国内的自动化测试很难开展。但正如前文所说,作为测试的一种手段,即使存在很多先天不足,我还是觉得自动化测试很有必要,因此我才会对原文的观点同意大半,剩下的小半,是我觉得自动化测试可以用另外的形式去开展。
  以怎样的另外形式去开展呢?我的想法是用工具辅助测试,自动化的优点在于用工具(程序)去完成测试,比手工测试要快捷和省力,但缺点是实现成本高,可用范围小(如果扩大使用范围的话,成本将进一步升高)。相反,手工测试则是可用范围大,成本低,但费时费力。如果可以将二者结合,在一些手工测试中适合使用工具的场景,使用一些现成的工具或者可快速开发的测试程序,这样就可以吸取两者的优点,提高测试的效率。当然,说起来容易,做起来并不简单,这里先不展开讲,以后有机会再另文讲述吧。
  说完了自动化测试,怎能不说说性能测试呢,这两个都是做测试的同学们非常向往的东西。现实中我也和不少做测试的同学聊过,聊到自动化和性能测试,大多都能说出不少自动化/性能测试软件的名字,至于用到什么程度,用来做过些什么,就很少人能深入谈下去了。我心目中的自动化和性能测试并不是安装个软件,照着教程上运行几个demo,然后就可以在实际项目中使用的。因为我们需要的是做自动化/性能测试,而不是用自动化/性能测试工具,这可是有很大区别的。举个例子,我问一个小学生,会不会学作文啊?他回答我,说会用圆珠笔写字了。呵呵。
  软件测试,无论手工也好,自动化也好,功能测试也好,性能测试也好,归根究底就是为了高效地发现问题,提高软件质量。至于用什么手段,用什么工具,需要按实际情况而定,不能一概而论,也不能说怎样怎样就一定好,怎样怎样就一定差。好比写文章,有用圆珠笔的、有用毛笔的、有用电脑的,无论用什么工具,目的都是为了写出文章。既然工具不是测试的核心,那什么才是呢?我认为是,知道要测什么,知道要怎样测。

我要回帖

更多关于 软件测试工作每天干什么 的文章

 

随机推荐