首页 文章 精选 留言 我的

精选列表

搜索[微服务架构],共10000篇文章
优秀的个人博客,低调大师

关于项目自动化测试架构的改良计划 - 已有弊端简介

以前我们项目采用的自动化测试比较乱,主要有以下几点: 1.所有的测试数据都是用一个单一的excel文件来维护的, 这个单一文件中每个测试用例的数据集都是一个sheet. 这有以下的缺陷: (1)excel最多只能支持200个工作表(sheet),但是你每一个项目都要写若干个工作表,我们项目又多,所以很容易这个工作表文件达到上限,我们不得不用新的excel文件。 (2)工作表很多的话,那么在工作表中切换变得困难,因为你永远不可能在不点击(左/右)箭头的情况下去查看某个不在当前显示的工作表文件,换句话说,你维护这些已有的数据文件变的困难。 (3)excel 文件是二进制文件,这就意味着,它几乎不可能支持版本控制和合并代码,如果多个人同时对于数据集做了贡献,那么很难merge,必须一个人告知另外一个人它改了什么,然后另外一个人同步到已有的数据文件中,然后另外一个人吧新的excel文件去替换掉旧的,这样很不方便。 (4)对于一个项目多种情况的例子,很多测试数据是可以重用的,只有稍微细节的修改,但是用excel的话,你不得不每次把数据文件进行复制。 2.我们所有的项目都用一个目录来维护,对于每个项目,都有一个匹配的properties文件来申明这个项目特定的selenium设定。 3.项目中只有一个包罗万象的testng.xml,所有的测试用例都必须在其中注册,导致这个文件非常巨大,维护起来非常复杂。 本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1221621,如需转载请自行联系原作者

优秀的个人博客,低调大师

JPDA 架构研究14 - Agent利用环境指针访问VM(对象管理篇)

引入: 上文讨论了Agent如何利用环境指针访问VM(管理类),这里讨论如何管理对象。 分类9:对象管理 a.GetObjectSize. 获取对象的大小, jvmtiError GetObjectSize(jvmtiEnv*env, jobjectobject, jlong*size_ptr) 注意,这不是真实大小,这只是从对象的定义代码中获得的一个预估值。 b.GetObjectHashCode.获取对象的hash值。 jvmtiError GetObjectHashCode(jvmtiEnv*env, jobjectobject, jint*hash_code_ptr) c.GetObjectMonitorUsage.获取对象的监视器。 typedefstruct{ jthreadowner; jintentry_count; jintwaiter_count; jthread*waiters; jintnotify_waiter_count; jthread*notify_waiters; }jvmtiMonitorUsage; jvmtiError GetObjectMonitorUsage(jvmtiEnv*env, jobjectobject, jvmtiMonitorUsage*info_ptr) 这个方法值得一说,从返回值可以看出,它可以包含对象的监视器的以下信息: (1)监视器所在的线程 (2)线程进入该监视器的次数 (3)等待拥有这个监视器的线程数。 (4)等待拥有这个监视器的线程列表。 (5)等待被这个监视器通知到的线程数。 (6)等待被这个监视器通知到的线程列表。 本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1587822,如需转载请自行联系原作者

优秀的个人博客,低调大师

JPDA 架构研究7 - Agent利用环境指针访问VM(线程组管理篇)

引入: 上篇文章中我们讨论了Agent利用环境指针访问VM的线程操作,这里讨论线程组操作。 分类3:线程组操作 a.GetTopThreadGroups.让Agent获取VM中的所有全局的线程组。 jvmtiError GetTopThreadGroups(jvmtiEnv*env, jint*group_count_ptr, jthreadGroup**groups_ptr) 函数会返回全局的线程组的数量和线程组的列表。 b.GetThreadGroupInfo。获取某个线程组的信息。 typedefstruct{ jthreadGroupparent; char*name; jintmax_priority; jbooleanis_daemon; }jvmtiThreadGroupInfo; jvmtiError GetThreadGroupInfo(jvmtiEnv*env, jthreadGroupgroup, jvmtiThreadGroupInfo*info_ptr) 从这里可以看出,它会包含线程组的父亲,线程组名字(UTF-8格式),最大优先级,是否守护线程组等信息。 c.GetThreadGroupChildren.获取某指定线程组的孩子们。 jvmtiError GetThreadGroupChildren(jvmtiEnv*env, jthreadGroupgroup, jint*thread_count_ptr, jthread**threads_ptr, jint*group_count_ptr, jthreadGroup**groups_ptr) 因为线程组和线程的关系也遵守设计模式中的Composite Design Pattern.所以某个线程组的孩子可以是子线程组,也可以是一些活着的子线程。所以这里可以看出,它会返回子线程的数量,子线程列表,子线程组数量,子线程组列表。 本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1587695,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册