- 已经是第一篇了
- 1.2节: 自动化测试
广州番禺Python, Java小班周末班培训
薯条老师在广州做Python和Java的小班培训,一班最多10人,学员的平均就业薪资有11K。不在广州的同学,可以报名参加线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6
1.1.1 浅谈软件测试
对于任何一名能严格遵循开发流程的程序员来说,这句话一定是无疑义的:一个软件产品在从无到有的过程中,必会有开发和测试的环节。这句话表明了对软件进行测试的重要性。
笔者做程序员多年,当然深知软件测试的重要性。作为一名后端工程师,在与团队中的测试人员、前端工程师等同事对接之前,笔者都会做一些基本的测试工作,比如单元测试和性能测试。做单元测试的目的是保证代码和期望的行为一致,而通过性能测试来找出代码的性能瓶颈。
笔者写这本书的初衷是让程序员认识到软件测试的重要性和必要性,以及让初入门的测试人员系统学习Python自动化测试的基本和进阶技能。在正式学习Python自动化测试之前,笔者先抛出一个非常基础的问题,即,什么是软件测试?关于软件测试的基础概念,我们可以在诸多文献中找到,比如以下关于软件测试的一段描述:
软件测试(Software Testing),描述一种用来促进鉴定软件的正确性、完备性、安全性和质量的过程。
从该段描述我们可以看出,软件测试的核心即是测试软件的功能是否正确、完备。软件的正确性很好理解,在对软件进行各种输入时,软件输出的不能是错误的结果(软件功能异常,精度不符合要求等)。那么测试软件的正确性,即是测试在各种输入的情况下,软件是否会出现错误的结果。软件的完备性是指软件是否实现了预期的所有功能,所以在执行软件的完备性测试时,通常会列出软件需求规格书中的所有功能点,然后再逐一进行测试。
在对软件进行正确性和完备性的测试以后,通常需要进一步测试软件的安全性。
软件的安全性测试主要包括用户认证安全的测试,网络安全的测试,以及数据库安全的测试。
由于本教程并不是一本关于软件测试基础理论的入门说明书,所以对各种安全性测试的方法和细节不再进一步赘述。
以上即是关于软件测试基础概念的讲解。在实际工作中,作为一名测试工程师,还需根据产品、使用环境等的不同,来熟练掌握不同的测试方式,以解决不同产品,不同使用环境下的软件测试需求。
1.1.2 将软件测试分个类
软件测试方法种类很多,比较常见的测试方法有白盒测试、黑盒测试、静态测试、动态测试、集成测试,回归测试等,这里我们将其分门别类,以便读者更好的记忆和理解。从是否关心软件内部结构和具体实现的角度划分,可将软件测试方法分为白盒测试和黑盒测试:
测试方法 | 描述 |
白盒测试 | 又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。 |
黑盒测试 | 又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。 |
从是否执行软件的角度来划分,可将软件测试方法分为静态测试和动态测试:
测试方法 | 描述 |
静态测试 | 指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。 |
动态测试 | 是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。 |
从软件产品开发的各个阶段来划分,可将软件测试分为以下六种:
模块名 | 描述 |
单元测试 | 又称模块测试,是针对软件设计的最小单位----程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。
|
集成测试 | 又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一种有序测试。旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。
|
确认测试 | 又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。
|
系统测试 | 是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
|
验收测试 | 以用户为主的测试,软件开发人员和质量保证人员参加,由用户设计测试用例。不是对系统进行全覆盖测试,而是对核心业务流程进行测试。 |
回归测试 | 是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。 |
1.1.3 最具实力的小班培训
薯条老师在广州做Python和java的小班培训,一个班最多10人,平均月薪有11K。不在广州的同学可以报名参加线上直播班,跟线下小班的同学们同步学习。因为是小班教学,所以薯条老师有精力把每位学员都教好。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取Python学习资料:
- 已经是第一篇了
- 1.2节: 自动化测试