话不多说,我只是一个喜欢分享整理软件测试相关的学习的卑微萌新,直接上干货
大家如果想下载我录制的一些软件测试学习视频、面试资料
或者想我的哈皮群友讨论怎么学软件测试、自动化测试的都可以点这里✔←
自动化测试基础
分层的自动化测试
测试金字塔的概念由敏捷大师 Mike Cohn 在他的 Succeeding with Agile 一书中首次提出。他的基本观点是:我们应该有更多低级别的单元测试,而不仅仅是通过用户界面运行端到端的高层测试。
测试金字塔如图所示:
Martin Fowler 大师在测试金字塔的基础上提出分层自动化测试的概念。在自动化测试之前加了一个“分层”的修饰,用于区别“传统的”自动化测试。那么,什么是传统的自动化测试呢?
所谓传统的自动化测试我们可以理解为基于产品 UI 层的自动化测试,它是将黑盒功能测试转化为由程序或工具执行的一种自动化测试。
分层自动化测试倡导的是从黑盒(UI)单层到黑盒和白盒多层的自动化测试,即从全面黑盒自动化测试到对系统的不同层次进行的自动化测试。分层自动化测试如图所示。
1.单元自动化测试
单元自动化测试是指对软件中的最小可测试单元进行检查和验证。
将单元测试交给测试人员去做,有利有弊,整体来说,由开发人员去做更为合适。
测试人员做单元测试的优势是具备测试思维,在设计测试用例时考虑更加全面;但劣势也很明显,目前,大多数测试人员很难做到像开发人员一样熟悉被测代码。让开发人员去写单元测试,优势非常明显,没有谁比开发人员更熟悉自己写的代码了他们只需掌握单元测试框架的使用和一些常用的测试方法,即可写单元测试,而且定位 bug时更加方便。
所以,测试人员可以教开发人员如何使用单元测试框架和测试方法,而不是代替开发人员去写单元测试。
2.接口自动化测试
Web 应用的接口自动化测试大体分为