ad

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_1.6 测试

网友投稿 56 2023-11-07

【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第1章,第6节,由陈刚、王洪军编著。

1.6 测试

测试,作为软件开发中必需的流程,是软件质量保证最重要的手段,它本身就是 一个分工很强的专业工种。在国内,规模小一些的公司,可能对测试的重视程度没那 么高,为了加快企业产品的上线迭代,开发、测试、上线、运维,可能都由同一个团队甚 至是同一个人负责。 一旦公司规模做大,独立的软件测试部门、独立的测试人员配备 就是必不可少的了,测试人员也有可能换上一个更高端的名字——QE(Quality En- gineer, 质量保证工程师)

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_1.6 测试

测试,也是一个有点让外行甚至是专业人员时时感到模糊的领域。这主要体现 在两个方面:

① 测试术语众多,如单元测试、集成测试、接口测试、自动化测试、人工测试、UI 测试、服务测试、用户接受度测试、冒烟测试、回归测试等,不一而足;而这些术语中, 有的是关于技术的(如单元测试),有的是关于测试本身业务的(如冒烟测试、回归测 试),有的是关于测试场景的(如集成测试、接口测试、UI 测试)。所以,这些术语并没 有体现正交性,真正有志于此的读者,还需要自行梳理测试体系。

② 测试本身的工作,在开发、测试、运维、产品、运营之间会相互渗透。需要解决 以下问题:开发的同时需不需要写测试,写哪些测试?运维人员要不要对服务应用的 正常启动做必要的测试?产品和运营需不需要对软件产品做必要的验收测试?公司 专业测试部门的最终使命是什么?如果软件不能做到百分之百消灭 bug, 那谁会背 bug 的锅?如何立体全方位地保证软件产品的品质?

当然,本书的大部分读者并不是专门从事测试的技术人员,所以,我们只会集中 讲述对于开发人员来说最重要的测试——单元测试,它是指对软件中的最小可测试 单元(一个模块、 一个函数或者一个类)进行检查和验证。因为 IT 领域的共识就是: 单元测试,是一种白盒测试,必须由软件的开发人员进行;而其他形形色色的测试,则 可以归于黑盒测试,因为接口测试、集成测试等,本质上都是一种对软件代码不可见 的、基于功能或用户场景的测试。所以,单元测试是掌握每种编程语言必学的课题, 是保护开发者的强力护盾,每个程序员都要在时间允许的情况下尽可能多地写单元 测试。限于本书课题,笔者不会提 Python 的 doctest, 或是 Python 中其他专业的测

试框架 nose 、pytest, 而只会讲述 Python 写单元中大多数都会用到的 unittest 和mock。

Python 单元测试(unittest) 中最核心的四个概念是:test case 、test suite 、test runner 、test fixture 。

●一个 TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个完 整的测试流程,包括测试前准备环境的搭建(setUp) 、执行测试代码(run), 以 及测试后环境的还原(tearDown) 。 单元测试的本质也就在这里, 一个测试用 例是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行 验证。

●而多个测试用例集合在一起,就是 TestSuite,而且 TestSuite 也可以嵌套 TestSuite。

● TestLoader是用来加载 TestCase 到 TestSuite 中的,其中有几个 loadTests- From__() 方法,就是从各个地方寻找 TestCase, 创建它们的实例,然后添加到 TestSuite 中,再返回一个 TestSuite 实例。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_1.4 并发编程
下一篇:《自己动手写 Python 虚拟机》_更理解虚拟机的意义_6.2 变量和参数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×