初学者的软件测试入门基础知识

软件测试基础概念篇,科普软件测试基础知识,适用于入门

/01/学习方法

关掉抖音,放下手机

专注力

制定小而可实现的目标(把控量很关键)

1000小时理论

劳逸结合

/02/学习目标:

脑子里对软件测试知识有一个概要的介绍从0开始一点点了解学测试,然后入学习测试,最后应用到是工作中,做到学以致用。

知识点总结与梳理:


初学者的软件测试入门基础知识_第1张图片
图片发自App



/03测试理念/

软件没有实现产品的说明书所描述的功能。

软件实现了产品说明书描述不应有的功能。

软件执行了产品说明书没讲的操作。

软件没有实现产品说明书没讲但应该实现的功能。

从软件测试员的角度来看,软件难以理解、不易使用、运行缓慢,或者最终用户认为不对。

/04软件测试的分类/

白盒测试:单元测试按V模型来区分、审查代码程序

灰盒测试:集成测试按V模型测试阶段区分,必需运行软件程序做集成测试

黑盒测试:必需运行软件程序,分为系统测试与验收测试两个阶段,按V模型测试阶段区分、整个产品全部功能测试是否能满足用户需求规格说明书要求,自动化、性能、回归、软件公司内部验证。

/05功能、手工测试与性能测试、自动化测试/

功能与手工测试

检查实际功能是否符合用户需求,手工测试是指,测试人员通过一条一条的执行测试用例,期望结果跟实际结果相比较,判断输出的结果是否满足期望的结果。

性能测试

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的测试。

软件的性能包括很多方面,主要有时间性能和空间性能两种。

时间性能:主要是指软件的一个具体的响应时间。例如一个登录所需要的时间,一个商品交易所需要的时间等。当然,抛开具体的测试环境,来分析一次事务的响应时间是没有任何意义的,它需要在搭建好的一个具体且独立的测试环境下进行。

空间性能:主要指软件运行时所消耗的系统资源,例如硬件资源,CPU、内存、网络带宽消耗等。

自动化测试

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计测试用例并通过评审之后,由测试人员根据测试用例中描述的规则流程一步步执行测试,把得到的实际结果与期望结果进行比较。在此过程中,为了节省人力、时间和硬件资源,提高测试效率,便引入了自动化测试的概念。

自动化测试又可分为:功能自动化测试与性能自动化测试。

功能自动化测试:是把以人为驱动的测试行为转化为机器执行的一种过程。通过测试工具(或框架)录制/编写测试脚本,对软件的功能进行测试,并验证测试结果是否正确,从而代替部分的手工测试工作,达到节约人力成本和时间成本的目的。

性能自动化测试:通过性能工具来模拟成千上万的虚拟用户向系统发送请求,从而验证系统的处理能力。

/06/冒烟测试、回归测试、和安全测试

这几种测试出现在软件测试的周期中,既不算具体明确的测试阶段,也不是具体的测试方法。

冒烟测试

是指在对一个新版本进行大规模的系统测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。

引入到软件测试中,就是指测试小组在正式测试一个新版本之前,先投入较少的人力和时间验证一个软件的主要功能,如果主要功能都没有运行通过,则打回开发组重新开发。这样做的好处是可以节省时间和人力投入到不可测的项目中

回归测试

回归测试是指修改了旧代码后,重新进行测试以确认修改后没有引入新的错误或导致其他代码产生错误。

回归测试一般是在进行第二轮软件测试时开始的,验证第一轮软件测试中发现的问题是否得到修复。当然,回归也是一个循环的过程,如果回归的问题通不过,则需要开发人员修改后再次进行回归,直到所有问题回归通过为止

安全测试

安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成至发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。

安全测试现在越来越受到企业的关注和重视,因为由于安全性问题造成的后果是不可估量的,尤其是互联网产品,最容易遭受各种安全攻击。

/07软件测试原则/

测试应该尽早进行,最好在需求阶段就开始介入,最严重的错误系统不能满足用户需求(所有的测试都应追溯到用户需求)

程序员尽量避免测试自己开发的程序(测试是否可以单独由开发者完成)

越早测试越好,测试过程与开发过程应是相结合的

测试的规模由小而大,从单元测试到系统测试

设计测试用例尽量覆盖率要全面(保证测试的覆盖程度)

发现BUG需要进行确认。

应该充分注意测试中的群集现象。

妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。

既应该测试软件该做什么也应该测试软件不该做什么

你可能感兴趣的:(初学者的软件测试入门基础知识)