如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
软件测试是一门非常重要的学科,目前研究的内容还很不深入。软件测试需要什么样的专业基础还没有定论,而且目前还没有一种很好的标准来衡量测试人员。但无可置疑,软件测试越来越受到软件公司的重视,软件测试工程师的作用也逐渐被人们所认可。这已经在像微软这样的国外大型软件企业中所证实,微软的一个开发人员会对应一至两个测试人员。2002年4月份,微软公司董事长兼首席软件设计师比尔·盖茨让微软研发部门将所有手头正在进行的工作暂停,彻底检查了每一个微软的软件,将所有存在的漏洞全部修好,所有的开发人员全部成为了测试人员,为的是“可信赖的计算”。国内软件公司对软件测试的态度令人担忧。软件测试不足,开发测试人员比例不合理。据调查,最好的企业中测试人员和开发人员的比例是1:8,有的是1:20大部分公司甚至没有专职的测试工程师。重视测试首先需要有开放性的软件文化,而在很多公司中,测试工程师只是绝对服从的听命角色,没有发挥他们的积极性和创造性。一些管理人员对软件开发的流程管理经验不足,仍然用传统企业的方法进行管理,再加上对软件质量的控制理解不对,认为让程序员编完程序后经过简单的功能测试就可以发布了,而没有认识到软件测试是控制质量最好的方法。不过,国内还是有一些大型公司和专业公司已经在软件测试方面走上正规IBM软件测试项目,已经成为公司主体软件外包业务之一。一提到软件测试工程师,很多人会想到那些反复使用软件,试图在频繁操作中寻找到错误发生的低层次人员或者软件用户。其实这是一种错误的概念,软件测试早已超越了用户使用来发现Bug的基本测试阶段。测试执行者负责理解产品的功能要求,然后根据测试规范和测试案例对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,属于最低级的执行角色。测试工具软件开发工程师负责写测试工具代码,并利用测试工具对软件进行测试;或者开发测试工具为软件测试工程师服务。产品开发后的性能测试、提交测试等过程,都有可能要用到开发的测试工具。对技术要求最强的是这些人因为他们要具备写程序的技术。“不同产品的特性不一样,对测试工具要求也是不同的,就像Windows的测试工具不能用于office,office的测试工具也不能用于SQLserver现在很多测试工程师就是负责专门为某个产品写测试程序的。”软件测试工程师的素质:因为软件测试仍然处在发展阶段,还没有上升到理论层次。对人员的评测,包括微软在内,都还没有一个统一标准,因此评定软件测试工程师只能根据工作实践进行自然淘汰了。软件测试对逻辑思维、学习能力、反应要求很高,是否有严密的思维和逆向思维也非常重要。做测试还要考虑到所有出错的可能性,做一些不按常规、非常奇怪的事。除了漏洞检测,测试还应该考虑性能问题,也就是要保证软件运行得很好,没有内存泄漏,不会出现运行越来越慢的情况;在不同的使用环境下,考虑软件的兼容性同样重要。软件测试同产品的规模也有很大的关系,因为软件的bug往往出在大型软件的连接处。做软件测试工程师需要对软件抱有怀疑态度。这是因为开发人员喜欢想当然,总是找一些有利于自己程序执行的数据,有些开发人员甚至认为不利于程序执行的数据是对代码的玷污和亵渎。而软件测试却要策略性的准备各种数据,从每个细节上设计不同的应用场景,不去想当然的假定任何一个数据是可行的。在职业素质和交际方面方面,并不是测试工程师爱挑别人毛病才好,反而这个工作要求很强的沟通能力。要经常和开发人员进行沟通,说话办事要很得当,不能指责别人,否则会事倍功半。软件测试工程师在工作中,对人和对事是完全不同的两个问题。测试设计中需要考虑的22种测试类型:黑盒测试:不基于内部设计和代码的任何知识,而是基于需求和功能性。白盒测试:基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。单元测试:最微小规模的测试;以测试某个功能或代码块典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。累积综合测试:当一个新功能增加后,对应用系统所做的连续测试。它要求应用系统的不同形态的功能能够足够独立以便在全部系统完成前能分别工作,这种测试可由程序员或测试员来做。集成测试:一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试主要与客户服务器和分布式系统有关。功能测试:用于测试应用系统的功能需求的黑盒测试方法。系统测试:基于系统整体需求说明书的黑盒类测试;应覆盖系统所有联合的部件。端到端测试:类似于系统测试;测试级的“宏大”的端点;涉及整个应用系统环境在一个现