软件测试学习

2020-03-02 23:01:02 来源:范文大全收藏下载本文

软件测试学习

1. 什么是软件测试?

答:软件测试是为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程,其目的在于在软件交付使用前充分发现缺陷并协助相关部门定位、解决缺陷,最后交付一个高质量的软件产品给用户。

2.软件测试的分类有哪些?

答:软件测试活动可以分为以下几类:

 黑盒测试:

黑盒测试又叫功能测试,数据驱动测试或基于需求规格说明书的功能测试。(主要用于系统测试和确认测试中)

 白盒测试

白盒测试又称结构测试、逻辑驱动测试或程序代码内部构成的测试。

 灰盒测试

灰盒测试结合黑盒和白盒测试两种方法,一方面考虑程序代码的功能性表现,另一方面,又需要考虑程序代码的内部结构。(主要用于性能测试、自动化功能测试)  静态测试

静态测试就是用眼看,阅读程序代码、文档资料等,与需求规格说明书中的客户需求进行比较,找出程序代码中设计不合理及文档集料有错误的地方

 动态测试

动态测试即为实际的执行被测对象的程序代码,输入事先设计好的测试用例,检查程序运行得到的结果与测试用例中设计的预期结果之间是否有差异,判定实际结果与预期结果是否一致,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能状况。

动态测试由四个部分组成:设计测试用例、执行测试用例、分析比较输出结果、输出测试报告。

动态测试有三种方法:黑盒测试、白盒测试、灰盒测试。

 手动测试

手动测试大部分的测试就是模拟用户的业务流程,来使用软件产品,从而发现软件产品中的缺陷。手动测试是最传统的测试方法,也是现在大多数公司都是用的测试形式。他是测试人员设计测试用例并执行测试用例,然后根据实际结果去和预期的结果相比较并记录测试结果,最终输出测试报告的测试活动。

优点:可以充分发挥测试工程师的主观能动性,将其智力活动体现于测试活动中,能发现很多的缺陷。

缺点:手动测试有一定的局限性与单调枯燥性。

 自动测试

自动测试就是利用一些测试工具,模拟用户的使用流程,让它们自动运行来查找缺陷。也可以编写一些代码,设定特定的测试场景,来自动寻找缺陷

优点:能够很快、很广泛的查找缺陷,同时可以做很多重复性的工作,大大提高了测试的效率和测试的准确性,而且写出的比较好的测试脚本,还可以在软件生命周期的各个阶段重复使用。

3.软件测试的流程:需求测试、单元测试、集成测试、系统测试、性能测试、用户测试、

回归测试

 需求测试:主要从以下几个方面考虑

①完整性:每一项需求都必须将所要实现的功能描述清楚,从而为开发人员设计和实现这些功能提供所有必要的需求依据。

②正确性:每一项需求都必须准确的陈述其要开发的功能

③一致性:一致性是指与其它软件需求或高层(系统、业务)需求不相矛盾,或者与我们的项目宣传资料一致。

④可行性:每一项需求都必须是在已知系统和环境的权能和限制范围内可以实施的。⑤无二义性:对所有需求的读者都只能有一个明确统一的解释,由于自然语言极易导致二义性,所以尽量把每项需求用简洁明了的用户语言表达出来。

⑥健壮性:需求的说明中是否对可能出现的异常进行了分析,并且对这些异常进行了容错处理。

⑦必要性:“必要性”可以理解为每项需求都是用来授权你编写文档的“根源”。要是每项需求都回溯至某项客户的输入,如需求用例或别的来源。

⑧可测试性:每项需求都能通过设计测试用例或其它验证方法来进行测试。

⑨可修改性:每项需求只应在SRS(软件需求规格说明书)中出现一次。这样更改时易于保持一致性。另外,使用目录表、索引和相互参照列表方法将使软件需求规格说明书更容易修改。

 单元测试

单元测试又成为模块测试,是对程序代码中最小的设计模块单元进行测试。 (可以发现大约80%的软件缺陷,大多数公司中,由对应的开发工程师负责) 单元测试方法:主要采用静态测试和动态测试相结合的办法。

单元测试工具:Juint等。

单元测试优点:在软件生产过程中及时的开展单元测试可以降低编码的错误率,提

高编码质量。

 集成测试

集成测试又称为组装测试,就是将软件产品中的各个模块组装起来,检查其接口是否存在问题,以及组装后的整体性能、性能表现。

集成测试方法:一般采用非增式集成方法、增式集成方法(自底向上集成;自顶向下集成;组合方式集成)等策略进行测试,利用以黑盒测试为主,白盒测试为辅的测试方法进行测试。

(集成测试一般由测试工程师但当)

集成测试的目的:主要解决的是各个软件组成单元代码是否符合开发规范、接口是否存在问题、整体功能有无错误、界面是否符合设计规范、性能是否满足用户需求等。

 系统测试

系统测试是将通过集成测试的软件部署到某种较为复杂的计算机用户环境(指一般用户的计算机环境)进行测试。

系统测试的目的:通过与系统的需求进行比较,发现软件与系统的定义不符合或与之矛盾的地方。主要考察被测软件的功能和性能表现。

系统测试方法:主要采用黑盒测试方法,进行的是安装卸载测试、兼容性测试、功能确认测试、安全性测试等。

系统测试过程其实也是一种配置检查过程,检查软件在生产过程中是否有遗漏的地方,在此时做到查漏补缺,以确保交付的产品符合用户的质量要求。如果软件可以按照用户合理期望的方式来工作的时候,即可认为通过系统测试。

 性能测试

性能测试就是要求被测软件在业务处理速度、处理能力和所耗用的硬件系统资源比率满足用户的需求。

对测试人员的要求:测试人员要掌握编程语言,精通业务流程,拥有深厚的项目经验。所以,想顺利的开展性能测试,需要测试工程师不断的学习,掌握相应的知识。 例子:对于某个论坛,我们需要测试论坛支持10000个用户同时使用,并且在这种情况下,打开帖子的速度能否控制在4秒钟以下,论坛服务器的CPU使用率不超过80%,内存的占用率不超过75%等,这些都是典型的性能测试指标。

性能测试优点:一方面可以验证被测软件是否符合用户需求,另一方面,可以得到相关的性能数据,为被测软件的优化提供参考。

性能测试工具:LoadRunner自动化性能测试工具等。

 用户测试

用户测试可以称其为用户确认测试。在正式验收前,需要用户对本系统做出一个评价,用户可对交付的系统做测试,并将测试结果反馈回来,进行修改、分析。 用户测试在整个软件生产流程中非常重要,这个环节是被测软件首次作为正式系统交由用户使用,用户会根据他们的实际使用情况进行测试、试用,并提出实际使用过程中的问题。

用户测试是软件生产流程中的最后质检关。

 回归测试

回归测试就是过一段时间以后再回过头来对以前修复过的Bug重新进行测试,看该Bug是否会重新出现。

回归测试的目的:检查以前的测试用例能否再次通过,是否还有需要补充的用例等。

回归测试工具:QTP等。

软件测试学习总结

软件测试学习感悟

软件测试学习基础

软件测试学习纲要

软件测试的学习

软件测试

软件测试

软件测试

软件测试

软件测试的学习目标是什么

《软件测试学习.doc》
软件测试学习
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文