热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

接口自动化测试系列之PHPUnit-框架设计构思

关于case设计我们通常总是关注代码的编写往往忘了case的设计也是非常重要的。如果你是做接口功能自动化测试,那么你要考虑各种接口参数的组合情况

关于case设计


我们通常总是关注代码的编写往往忘了case的设计也是非常重要的。如果你是做接口功能自动化测试,那么你要考虑各种接口参数的组合情况,比如,正常的时候,不正常的时候,必填选填等等。这时候考验case设计的功底就来了。。。。。

如果你是做接口性能测试则一般选择正向的case即可。

测试框架设计构思


之前在文章《送给那些有代码基础但仍旧不会学自动化测试的朋友们》中提到过,测试思想比技术更值钱,也举例子说了如何去学习自动化测试,其中最忌讳的一点就是什么都不想上来就写代码。

所以,我们冷静冷静,先从设计角度来考虑下。每个人的思路都不一样,没有必要较真,我这里只列出我的思路,肯定有不好的地方,仅供借鉴。

  • commons 放公共函数

  • src 放源代码

  • testcases 放测试用例文件,一个测试用例文件最好这对一个接口的所有测试用例,不要混在一起

  • testdata 放测试数据,对于数据比较长或大的可以提炼出来放这里,算是一个预留吧

  • testsuites 把测试用例组织成不同的测试套件

进一步设想一下:

  • commons里放请求,比如你调用get、post请求等

  • src里放读取配置文件。我们知道host经常会变化,如果用配置文件的形式管理会比较方便

  • testcases放测试代码

  • testdata可以放测试数据,这样就实现了数据和代码的分离。我们这里并没有提出来,感兴趣的朋友自己可以尝试下

  • testsuites主要是做用例的组合,使用方法也非常简单,后续有代码

源码获取


点击链接加入QQ群 522720170(免费公开课、视频应有尽有):

https://jq.qq.com/?_wv=1027&k=5C08ATe



推荐阅读
  • 深入浅出解析HTTP协议的核心功能与应用
    前言——协议是指预先设定的通信规则,确保双方能够按照既定标准进行有效沟通,从而实现准确的信息交换。例如,驯兽师通过拍手使动物坐下,这实际上是一种预设的协议。本文将详细探讨HTTP协议的核心功能及其广泛应用,解析其在现代网络通信中的重要作用。 ... [详细]
  • 蚂蜂窝爬虫
    Nodejs爬取蚂蜂窝文章的爬虫以及搭建第三方服务器如题,本项目用Nodejs实现了对蚂蜂窝网站的爬取,并将数据储存到MongoDB中,再 ... [详细]
  • 【转载】jqdatasdk用pyechart画图生成网页并保存到本地
    (转自:https:www.joinquant.comcommunitypostdetailMobile?postId15186&page&limit20&replyId&tag) ... [详细]
  • 如何解决《在测试类Symfony2中获取容器》经验,为你挑选了1个好方法。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • 本文介绍了如何通过掌握 IScroll 技巧来实现流畅的上拉加载和下拉刷新功能。首先,需要按正确的顺序引入相关文件:1. Zepto;2. iScroll.js;3. scroll-probe.js。此外,还提供了完整的代码示例,可在 GitHub 仓库中查看。通过这些步骤,开发者可以轻松实现高效、流畅的滚动效果,提升用户体验。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 深入RTOS实践,面对原子操作提问竟感困惑
    在实时操作系统(RTOS)的实践中,尽管已经积累了丰富的经验,但在面对原子操作的具体问题时,仍感到困惑。本文将深入探讨RTOS中的原子操作机制,分析其在多任务环境下的重要性和实现方式,并结合实际案例解析常见的问题及解决方案,帮助读者更好地理解和应用这一关键技术。 ... [详细]
  • 本文深入探讨了Java枚举类型的使用与实践,详细解析了枚举的基本用法及其在实际开发中的应用。首先介绍了枚举作为常量的替代方案,自JDK 1.5起,通过枚举可以更加简洁、安全地定义常量,避免了传统方式中可能出现的错误。此外,文章还探讨了枚举在实现单例模式、状态机等场景中的优势,并提供了多个实际案例,帮助开发者更好地理解和运用这一强大的语言特性。 ... [详细]
  • 本文介绍了在 Android 平台上的图片上传工具类优化方案,重点讨论了如何通过设置 `MultipartEntity` 来实现图片的高效上传。具体实现中,通过自定义 `UserUploadServiceImpl` 类,详细展示了如何构建和发送包含图片数据的 HTTP 请求。此外,还探讨了如何处理上传过程中的常见问题,如网络异常和文件格式验证,以确保上传的稳定性和可靠性。 ... [详细]
  • 如何在微信公众平台集成新浪云服务应用摘要:新浪云服务平台SinaAppEngine(简称SAE)自2009年启动内部研发,并于同年对外开放。本文详细介绍了如何利用SAE的强大功能,在微信公众平台上构建高效、稳定的云服务应用程序,涵盖从环境配置到应用部署的全流程,为开发者提供详尽的技术指导与实践案例。 ... [详细]
  • 如何解决《我怎样才能在phpunit中模拟gitdiff的结果》经验,为你挑选了1个好方法。 ... [详细]
author-avatar
泉怪的皮毛_884
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有