前端测试简介
前端测试是一种展示层的测试。外包测试大多是点点点,多属于前端测试。
前端测试检查GUI或Web等可视内容。对于Web应用程序,前端测试将涉及到检查功能,如表格,图形,菜单,报告等,以及相关的Javascript。测试人员需要对业务需求有很好的理解才能执行这种类型的测试。
后端测试简介
后端测试是针对应用层和数据库等没有GUI的测试。
后端测试需要检查应用层的业务逻辑,对于简单的应用,后端测试需要检查服务器端或数据库。对于简单的应用程序,后端测试检查服务器端或数据库。这意味着在前端输入的数据将在后端数据库中进行检查。
数据库将检查ACID属性,CRUD操作,模式,业务规则的一致性、安全性和性能等。
在后端测试中,可以直接使用浏览器和其他工具传递数据,并提供函数所需的参数,以获得一些默认格式的响应。例如,XML或JSON。也可以直接连接到数据库,使用SQL查询来验证数据。
关键区别
前端测试检查展示层,而后端测试检查应用和数据库层等。
前端测试总是在GUI上进行,而后端测试则涉及数据库和业务逻辑测试。
前端测试不需要任何信息存储在数据库中,但后端测试需要信息存储在数据库中。
前端测试是检查应用程序的整体功能,而后端测试则是检查死锁、数据损坏、数据丢失等问题。
前端测试人员必须对业务需求和前端自动化框架工具(比如selenim)有一定的了解,而后端测试人员必须对数据库和结构化查询语言(SQL)概念有很强的背景。
前端测试设计单元测试(主要针对js)、验收测试、易用性测试、回归测试等,而后端测试有SQL测试、API测试、单元测试(比如python、c等语言)等。
前端测试大量采用外包,整体对技能要求不高,薪水也不高。后端测试多为内部,对整个系统的架构要比较熟悉,薪水更高,测试开发的薪水甚至接近开发。
实际上目前端到端测试越来越流行,很多公司倾向于同一测试人员跟完整个业务流程,通常要求测试具备前后端的测试+测试开发能力。后端测试通常具备前端测试能力,反之则大多未必了。如果你现在还是点点点,要多加油了。
重要的前端测试工具示例
前端测试的工具有很多。这里给出部分流行的前端测试工具。
- Selenium
python + pytest/unittest + selenium 已经几乎成为测试入门的标配,不再多做介绍。
- Grunt
Grunt是任务自动化时的首选工具之一。它是一个JavaScript任务运行器,为常见任务提供了大量的捆绑插件。
- LiveReload:
LiveReload是一个简单的网络协议。每当文件被修改时,它就会触发事件给客户端。客户端可以用自己的方式处理这个事件,即使最常见的用例是文件被修改时。
- Karma.
Karma是一个JavaScript测试运行器工具。它允许你从工作站到生产CI执行测试。
部分重要的后端测试工具示例。
- Data Factory
Data Factory是数据库测试工具。它的作用是作为数据库测试的数据生成器和数据管理器。它的界面非常容易使用,能够管理复杂的数据关系。
- Data Generator
用于生成数据库测试的数据行和模式对象。该工具支持对数据库进行负载可用性和性能测试。
- TurboData
Turbodata软件工具可以用来生成带有外键的测试数据。它允许使用选择、更新和删除SQL命令。它还支持多个顺序文件和关系型数据库。
- Locust
github星级最高的性能测试工具。
- requests
python中http/https测试库。