热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

关于自动化测试框架的思想和考虑

接触过自动化测试的,应该对这几种自动化测试框架思想有所了解:模块化思想、库思想、数据驱动思想、关键字驱动思想简单说说,我自己对目前自动化测

接触过自动化测试的,应该对这几种自动化测试框架思想有所了解:模块化思想、库思想、数据驱动思想、关键字驱动思想

简单说说,我自己对目前自动化测试的一些想法

最初自动化测试依靠的是传统的“录制-回放”技术,这种技术与现在的工具的“录制-回放”思想不一样,其其实就是一个“模拟”的过程,即模拟操作而形成的,其基于对输入操作的原理,这种机制对环境的依赖性太强,对变化性太过于敏感,因此不可能发展成一种规模。

然后是脚本化的自动化测试,利用脚本进行结构化的自动化测试,此可以应用于CLI与API的自动化测试,在其就开始集成了模块化与库思想。

数据驱动与关键字驱动,是其伴随着对象化思想的产生,而且也造就了现在一系列的自动化测试软件,其实其中都集成了这些思想,从这时候开始,自动化就开始实现了一定的规模,开始运用在各个行业,并且发展趋势越来越快。

在说说自动化测试框架思想:

模块化思想,就是将一个测试用例中的几个不同的测试点拆分并且将其单个点的测试步骤进行了封装,形成了一个模块。一个测试用例要对一个登录程序进行测试,其中包括:用户名输入、密码输入、以及确定登录;那么就可以四个操作分别封装在四个不同的模块中。测试时,只需调用其模块即可。

测试库思想,其与模块化思想不同的是,其拓展了接口思想,即可以通过接口去传递参数,而不是一个封死的模块,可以说是一个多了一个“门”的交互型模块。

数据驱动思想,我的理解就是变量不变,数据驱动结果,不同的数据导致了不同的结果的产生。

关键字思想,其实关键字驱动就是一种面向对象的思想,对对象的抓取,可以将其测试对象封装为一个关键字,这样可以对其关键对象进行各种操作了,不同的对象可以驱动不同的测试流向与结果。

做好自动化测试,不是说你掌握了一个框架,而是要掌握其自动化的思想,然后根据这些思想,结合你不同的测试环境和流程来构建你自己的自动化测试框架。

在开始设计自动化测试框架之前,需要考虑下:
  
使用该框架写出来的自动化测试案例,需要给开发,手动测试,可能还有客户查看,所以写的测试案例需要尽量的清晰明了,不要有太多复杂逻辑,及比较好的可读性。

使用这个框架做自动化的人,不会有太深的编程能力,所以要提供足够好的,最好是傻瓜化的测试点验证方法,及很好的异常容错处理能力。

测试框架最好是app测试,网页测试,接口测试,统统都能支持。



推荐阅读
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 三菱PLC SLMP协议报文详解
    本文详细解析了三菱PLC中使用的SLMP协议报文结构,包括其工作原理、通信流程及报文格式,旨在帮助工程师和技术人员更好地理解和运用这一协议。 ... [详细]
  • 题目 CF1245F: 清理春天的数学挑战 描述了一个数学问题:给定一个区间 [L, R](0 ≤ L, R ≤ 10^9),求该区间内满足 x + y = x ∧ y 的数对 (x, y) 的总数。 ... [详细]
  • 使用C# .NET构建UDP点对点聊天应用
    本文详细介绍如何利用C# .NET框架开发一个基于UDP协议的点对点聊天程序,包括客户端与服务器之间的连接建立、数据传输等核心功能。 ... [详细]
  • 基于SuperSocket实现在线斗地主:出牌机制
    本文详细介绍了如何在SuperSocket框架下实现斗地主游戏中的出牌逻辑,包括基本的出牌规则验证及与上一家出牌大小的比较。同时,简要提到了未来可能探索的游戏开发框架Cocos。 ... [详细]
  • 探讨在Android JNI/NDK环境中遇到的SIGSEGV崩溃问题,以及如何通过自定义信号处理器进行调试的方法。 ... [详细]
  • 深入解析 Hello OLW 测试
    本文详细探讨了Hello OLW测试的相关知识点,旨在为开发者和技术爱好者提供有价值的参考资料。 ... [详细]
  • 本文详细介绍了在使用Socket进行网络编程时,遇到链接器错误`undefined reference to WSAStartup@8`的解决方案,适用于多种开发环境。 ... [详细]
  • 本文探讨了自然常数e的真正含义及其在数学和自然科学中的重要性,揭示了e为何被视为‘自然’的本质。 ... [详细]
  • 字节跳动夏季招聘面试经验分享
    本文详细记录了字节跳动夏季招聘的面试经历,涵盖了一、二、三轮面试的技术问题及项目讨论,旨在为准备类似面试的求职者提供参考。 ... [详细]
  • 本文探讨了在网络配置中常用的通配符掩码与反掩码的区别,特别是在ACL、OSPF及EIGRP中的应用。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
author-avatar
张。、
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有