技术分享 | OceanBase 4.X 最小化单机部署

作者:杨涛涛

资深数据库专家,专研 MySQL 十余年。擅长 MySQL、PostgreSQL、MongoDB 等开源数据库相关的备份恢复、SQL 调优、监控运维、高可用架构设计等。目前任职于爱可生,为各大运营商及银行金融企业提供 MySQL 相关技术支持、MySQL 相关课程培训等工作。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

下面是通过 OBD 部署的配置文件: 主要是以下几个参数

  1. memory_limit 设置为4G,这个是所有租户的总内存容量。
  2. system_memory 设置为1G,这个是500租户的内存容量。

实际租户可使用内存是4G - 1G=3G。由于系统租户默认内存为2G,所以最后预留给业务租户的内存只有1G。当然也可以减少系统租户内存容量为1G,不过不建议这么做。

  1. __min_full_resource_pool_memory 设置为1G,这样才能允许创建unit最小内存为1G,要不会报如下错误:

ERROR 1235 (0A000): unit MEMORY_SIZE less than __min_full_resource_pool_memory not supported

  1. cpu_count 设置为2。

设置为2也够用了,系统租户使用一个核,剩下的一个核给业务租户使用。

oceanbase-ce:
  servers:
   - name: ob1
     ip: 127.0.0.1
  global:
     syslog_level: WARN
     enable_syslog_recycle: true
     max_syslog_file_count: 1
     
     __min_full_resource_pool_memory: 1073741824
     memory_limit: 4G
     system_memory: 1G

     datafile_size: 20G
     log_disk_size: 24G

     devname: lo
     cpu_count: 2

     production_mode: false
     cluster_id: 1
     appname: obytt100

     mysql_port: 2881
     rpc_port: 2882
     data_dir: /ob_data/1
     redo_dir: /ob_log/1
     home_path: /home/admin/oceanbase/1
     zone: z1

用以上配置文件来部署 OceanBase ,下面是我部署好的数据库:只有一台 OB SERVER ,可以当做单台 MySQL 实例一样来正常操作。

[root@ytt-pc scripts]# obd cluster display obytt100
Get local repositories and plugins ok
Open ssh connection ok
Cluster status check ok
Connect to observer ok
Wait for observer init ok
+--------------------------------------------+
|                  observer                  |
+-----------+---------+------+------+--------+
| ip        | version | port | zone | status |
+-----------+---------+------+------+--------+
| 127.0.0.1 | 4.0.0.0 | 2881 | z1   | ACTIVE |
+-----------+---------+------+------+--------+
obclient -h127.0.0.1 -P2881 -uroot -Doceanbase

我们来创建一个 MySQL 租户:

mysql:5.7.25:oceanbase>create resource unit ut1 max_cpu 1,memory_size '1G',max_iops 1024;
Query OK, 0 rows affected (0.009 sec)

<mysql:5.7.25:oceanbase>create resource pool p1 unit 'ut1',unit_num 1;
Query OK, 0 rows affected (0.013 sec)

<mysql:5.7.25:oceanbase>create tenant mysql resource_pool_list=('p1') set ob_tcp_invited_nodes='%';
Query OK, 0 rows affected (11.449 sec)

创建完租户后,查看现在的资源单元配置数据: sys_unit_config(sys租户资源单元)和 ut1 一共占用3G,加上之前500租户的1G,已经达到 memory_limit 的设置。

<mysql:5.7.25:oceanbase>select name,max_cpu,round(memory_size/1024/1024/1024,2) 'memory_size_GB' from __all_unit_config;
+-----------------+---------+----------------+
| name            | max_cpu | memory_size_GB |
+-----------------+---------+----------------+
| sys_unit_config |       1 |           2.00 |
| ut1             |       1 |           1.00 |
+-----------------+---------+----------------+
2 rows in set (0.001 sec)

完后查看剩余资源数据:CPU ,内存都已经分配殆尽。

<mysql:5.7.25:oceanbase>select svr_ip,svr_port,zone,round((cpu_capacity_max-cpu_assigned_max),2) 'cpu_free_num',cpu_capacity_max 'cpu_total_num',round((mem_capacity-mem_assigned)/1024/1024/1024,2) 'mem_free_GB', round(memory_limit/1024/1024/1024,2) 'mem_total_GB' from gv$ob_servers;
+-----------+----------+------+--------------+---------------+-------------+--------------+
| svr_ip    | svr_port | zone | cpu_free_num | cpu_total_num | mem_free_GB | mem_total_GB |
+-----------+----------+------+--------------+---------------+-------------+--------------+
| 127.0.0.1 |     2882 | z1   |         0.00 |             2 |        0.00 |         4.00 |
+-----------+----------+------+--------------+---------------+-------------+--------------+
1 row in set (0.000 sec)

接下来就可以正常建库建表了

[root@ytt-pc scripts]# obclient -h127.0.0.1 -P2881 -uroot@mysql -Doceanbase -cA -e "create database ytt;use ytt;create table t1(id int primary key);"

如果提示内存不足,比如:No memory or reach tenant memory limit , 可以手动进行转储来释放内存。

本文转载于网络 如有侵权请联系删除

相关文章

  • 提升分类模型acc(二):图像分类技巧实战

    【GiantPandaCV导语】本篇文章是本系列的第二篇文章,主要是介绍张航的BagofTricksforImageClassification中的一些方法以及自己实际使用的一些trick。论文链接:https://arxiv.org/abs/1812.01187 R50-vd代码:https://github.com/FlyEgle/ResNet50vd-pytorch 知乎专栏:https://zhuanlan.zhihu.com/p/4099200021一、前言如何提升业务分类模型的性能,一直是个难题,毕竟没有99.999%的性能都会带来一定程度的风险,所以很多时候只能通过控制阈值来调整准召以达到想要的效果。本系列主要探究哪些模型trick和数据的方法可以大幅度让你的分类性能更上一层楼,不过要注意一点的是,tirck不一定是适用于不同的数据场景的,但是数据处理方法是普适的。ps:文章比较长,不喜欢长文可以直接跳到结尾看结论。简单的回顾一下第一篇文章的结论:使用大的batchsize训练会略微降低acc,可以使用LARS进行一定程度的提升,但是需要进行适当的微调,对于业务来说,使用

  • DNS解析商业套餐上新预告,还有好礼相送!

    DNSPod全新升级•商业套餐 ?8月上线?好礼相送参与方式本推文评论区回复【套餐名称+价格】参与猜套餐价格活动所猜价格与某个套餐正式发布价格最接近者可获得一年专业版DNS解析套餐活动规则1.每人只能参与一次,若多次回复只以最新回复中的价格为准2.一人只能猜一个套餐价格,若猜出多个套餐价格,作猜中一个处理活动时间2021年7月15日-8月25日开奖时间2021年8月30日中奖人数3人每个套餐各抽取一名幸运用户SMB腾讯云中小企业产品中心  腾讯云中小企业产品中心(简称SMB),作为腾讯云体系中唯一专业服务于8000万中小企业的业务线,致力于为中小微企业提供全面完善贴心的数字化解决方案。产品线覆盖了企业客户从创业起步期、规范治理期、规模化增长期、战略升级期等全生命周期,针对性的解决企业的信息化、数字化、智能化的生产力升级需求。本中心还拥有两大独立腾讯子品牌:DNSPod与Discuz!,在过去15年间,为超过500万企业级客户提供了强大、优质、稳定的IT服务。  SMB团队成员大多都有过创业经历,有获得过知名VC数千万投资的,有被一线互联网巨头以数千万全资收购的,也有开设数十家分公司后技

  • CMSIS软件包V5.8.0发布,所有组件全面更新,CMSIS-NN神经网络接口函数开始兼容TensorFlow Lite

    Github下载: https://github.com/ARM-software/CMSIS_5/releases 论坛下载: ARM.CMSIS.5.8.0.pack(34.49MB) 过段时间MDK版的CMSIS软件包也将发布,不出意外MDK也将再次升级。 更新记录如下: 1、CMSIS-DSP和CMSIS-NN 下次升级将把数字信号处理库CMSIS-DSP和神经网络库CMSIS-NN独立出来,不再包含到CMSIS软件包里面了,目的是方便独立更新发布。 第2版DSP教程的后续例子直接切到这最新的版本上。 2、CMSIS-RTOSV2 这个里面更新了一个重要问题,前段时间微软发布了: 微软物联网安全研究小组公布市面上25款物联网系统内存分配漏洞,各种大家熟悉的OS全部上榜 http://www.armbbs.cn/forum.php?mod=viewthread&tid=106767 这次更新重点解决了这个问题 3、CMSIS-DAP 最新版CMSIS-DAPV2.1.0通信协议增加了串口方式,无需再独立虚拟个串口设备。 当前

  • PAT1042 Shuffling Machine (20分) 用1-54代替点数更方便哦

    题目Shufflingisaprocedureusedtorandomizeadeckofplayingcards.Becausestandardshufflingtechniquesareseenasweak,andinordertoavoid"insidejobs"whereemployeescollaboratewithgamblersbyperforminginadequateshuffles,manycasinosemployautomaticshufflingmachines.Yourtaskistosimulateashufflingmachine.Themachineshufflesadeckof54cardsaccordingtoagivenrandomorderandrepeatsforagivennumberoftimes.Itisassumedthattheinitialstatusofacarddeckisinthefollowingorder:S1,S2,...,S13, H1,H2,...,H13, C1,C2,...,C13, D1,

  • guava之Joiner 和 Splitter

    最近在给客户准备一个Guava的分享,所以会陆续的更新关于Guava更多的细节分享。本文将记录Guava中得字符串处理Joiner(连接)和Splitter(分割)处理。Joiner首先我们来看看下面我们经常遇见的一个案例:题目: 对于一个如下定义List List<String>list=newArrayList<String>("1","2",null,“3”); 按照’,’分割,并过滤掉null。复制如果不用第三方库,如common-lange,Guava,用原生java,我们将怎么继续?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15publicstaticStringjoin(ListstringList,Stringdelimiter){
 StringBuilderbuilder=newStringBuilder(); 
for(Objectitem:stringList){
 if(item!=null){
 builder .append(item) .append(delimi

  • PHP处理XML数据

    生活中我们或多或少会遇到处理XML的数据,比如微信开发、或者我们传递一些数据比较多的内容,XML是个不错的选择,但是通常XML需要处理,需要我们转换成数组或者对象等方法,那么在PHP中如何创建XML,并且解析XML呢?Installing$composerrequirehedeqiang/xml-vvv复制Usage解析XML,返回数组require__DIR__.'/vendor/autoload.php'; useHedeqiang\Xml\Xml; $xml="<xml> <foo>name</foo> <bar>age</bar> <name><![CDATA[texthere]]></name> </xml>"; print_r(xml::parse($xml));复制创建XML$data=[ 'id'=>'bk101', 'author'=>'

  • 自动化测试如何解析excel文件?

    来源:http://www.51testing.com 前言自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们的首选,无论是编写测试用例还是存放测试数据,excel都是很方便的。那么今天我们就把不同模块处理excel文件的方法做个总结,直接做封装,方便我们以后直接使用,增加工作效率。openpyxl  openpyxl是个第三方库,首先我们使用命令pipinstallopenpyxl直接安装  注:openpyxl操作excel时,行号和列号都是从1开始计算的  封装代码"""   ------------------------------------   @Time:2019/5/1318:00   @Auth:linux超   @File:ParseExcel.py   @IDE:PyCharm   @Motto:Realwarriors,daretofacethebleakwarning,daretofacetheincisiveerror!   -

  • springboot配合retrofit上传图片文字 完整教学

    需求用springboot配合retrofit上传图片和文字目录了解http的multipart/form-data学习retrofit上传文件的方法学习springboot接收multipart/form-data请求的方法解决方案[额外问题]设置springboot文件传输大小的限制1.了解http的multipart/form-data请先阅读https://www.cnblogs.com/tylerdonet/p/5722858.html。 为了验证,我特意用fiddler模拟了一次文件上传请求。 请求中要上传的信息有:{"auth":"qq","openId":"...","accessToken":"...","wallpaper":"(图片文件)"}。 以下是请求的header和body的截图: headerbody(原文)body(表格形式)如果想了解Http的其它请求格式,可查看https://blog.csd

  • 5971 打击犯罪

    题目描述Description某个地区有n(n<=1000)个犯罪团伙,当地警方按照他们的危险程度由高到低给他们编号为1-n,他们有些团伙之间有直接联系,但是任意两个团伙都可以通过直接或间接的方式联系,这样这里就形成了一个庞大的犯罪集团,犯罪集团的危险程度唯一由集团内的犯罪团伙数量确定,而与单个犯罪团伙的危险程度无关(该犯罪集团的危险程度为n)。现在当地警方希望花尽量少的时间(即打击掉尽量少的团伙),使得庞大的犯罪集团分离成若干个较小的集团,并且他们中最大的一个的危险程度不超过n/2。为达到最好的效果,他们将按顺序打击掉编号1到k的犯罪团伙,请编程求出k的最小值。输入描述InputDescription 第一行一个正整数n。接下来的n行每行有若干个正整数,第一个整数表示该行除第一个外还有多少个整数,若第i行存在正整数k,表示i,k两个团伙可以直接联系。输出描述OutputDescription一个正整数,为k的最小值样例输入SampleInput 7    225    3134    224    223    3167    257    256样例输出SampleOutpu

  • 关于定位position的相关知识

    HTML5学堂-刘国利:最近有好几个学生和自己聊起,总觉得定位有点懵。因此在本文中,主要书写了相对定位relative和绝对定位absolute,定位的用法以及叠层后的层级关系计算方法。position的属性值position属性规定了元素的定位类型,所有的元素都可以用position来进行定位。position定位之后的对象将具有块属性。position属性有五个取值,分别为:static、relative、absolute、fixed、inherit,其中“static”为默认值,可以省略不写,static元素会忽略任何top、bottom、left或right声明。再次强调,所有的元素都可以进行定位处理~!何时使用positionHTML+CSS布局方式之中,最为常见的有两种布局模式,分别是浮动布局和定位布局。在我们平时,使用最多的就是浮动布局,当在页面当中出现多个元素层叠状态时,我们则会考虑定位布局。例如平时的弹窗、黑色蒙版层、返回顶部、微博等网站顶部的导航条~~~相对定位和绝对定位是否会让元素脱离文档当对一个元素设置了position:absolute和position:fi

  • 【云和恩墨大讲堂】SQL玩转AWR裸数据

    作者简介:罗海雄云和恩墨优化专家ITPUB论坛数据库管理版版主,2012ITPUB全国SQL大赛冠军得主,他还是资深的架构师和性能优化专家,对SQL优化和理解尤其深入;从开发到性能管理,他有着超过10年的企业级系统设计和优化经验。曾经服务于甲骨文公司,组织和主讲过多次《甲骨文技术开发人员日》和《Oracle圆桌会议》,并具备丰富的制造行业系统架构经验。今天的主题是SQL玩转AWR裸数据。AWR相信DBA们都不陌生。AutomaticWorkloadRepository,自动负载信息库,就是Oracle把数据库中比较重要的性能视图里的信息,定期从内存保存到数据库里面。默认情况下,Oracle会每个一个小时保存一次。另外,Oracle也有机制保证信息库的大小不至于无限增长,所以一般信息库只保留7天的数据。默认是保存在SYSAUX表空间中。主要的信息涵盖了Oracle较重要的性能相关信息。底层存储为WRH$*表,通常可通过DBA_HIST_*访问,总共有100多张表。对于AWR,常规的用法是生成AWR或者ASH报告。下面列举了几个最常见的方法。@?/rdbms/admin/awrrpt.sq

  • salesforce 零基础学习(二十九)Record Types简单介绍

    在项目中我们可能会遇见这种情况,不同的Profile拥有不同的页面,页面中的PickList标签可能显示不同的值。这个时候,使用RecordTypes可以很便捷的搞定需求。RecordTypes允许在相同的object中为数据定义多个UI。用户通过Profile进行分组,不同的Profile可以设置不同的PageLayout以及显示不同的PickList的item值。简单需求描述如下(以Goods__c为例):1.Profile为Admin的用户可以看到所有的字段,Profile为其他的用户不能看到GoodsCostPrice__c;2.Profile为Admin的用户可以看到类型为PickList的GoodsBrand__c所有值,Profile为其他的用户只能看到GoodsBrand__c的一部分值。(注:需求只是随便写的)实现上述功能可以通过RecordTypes实现,先定义两个PageLayouts,使不同的Profile显示不同的页面,然后定义两个RecordTypes,使不同的Profile显示的PickList的值不同。 一.创建PageLayoutsetup->C

  • Cinema 4D R26 for Mac(c4d r26)中文版安装教程

    Cinema4DR26forMac一款三维设计和动画软件。c4dr26中文版在整个3D工作流程(建模、动画和模拟、渲染)中提供了强大的增强功能。Cinema4DR26forMac安装教程 C4D26下载完成后打开,双击装MaxonCinema4DFullInstaller根据安装引导即可完成安装,安装完成后一定要先打开一次再退出!!!切记~返回镜像包打开.pkg根据安装器提示进行安装完成即可如果需要中文版,打开C4D,返回镜像包,将中文语言包Chinese_.c4dupdate,拖到视窗,拖动的时候,请按着快捷键shift根据提示点击Yes然后点击重启即可软件安装地址:Cinema4DR26forMac(c4dr26)vR26.107中文激活版https://mac.macsc.com/mac/3669.html?id=MzQzNTExwindows软件安装:MaxonCinema4DR26(C4DR26)https://soft.macxf.com/soft/2785.html?id=MjkzODQ%3D

  • ? CMplot | 完美复刻Nature上的曼哈顿图(一)

    1.写在前面原文地址:https://www.nature.com/articles/s41562-022-01359-x今天要复刻一下Naturehumanbehaviour上的一张Manhattanplot曼哈顿图的名字来源是因为其形如曼哈顿的天际线,高耸在较低高度的“建筑物”上方的摩天大楼的轮廓。主要用于GWAS结果的展示。2.用到的包rm(list=ls()) library(CMplot) 复制3.示例数据data(pig60K) data(cattle50K) 复制4.GWAS结果展示CMplot(pig60K, type="p", plot.type="m", LOG10=TRUE, threshold=NULL, file="jpg", memo="", dpi=300, file.output=F, verbose=F, width=14,height=6, chr.labels.angle=0) 复制5.修改细节5.1更改颜色CMplot(pig60K, col=c("#3E0

  • moment.js的方法总结

      总结一个非常实用的日期工具类moment.js,日期获取,格式化等。   引入moment //import方式 importmomentfrom'moment';复制 设定moment区域为中国 //require方式 require('moment/locale/zh-cn') moment.locale('zh-cn'); //import方式 import'moment/locale/zh-cn' moment.locale('zh-cn');复制 格式化时间类型 1.取当天时间,以YYYY年MM月DD日形式显示 letstr=moment() .subtract(0,'days') .format('YYYY-MM-DD');复制 2.任意时间戳格式化,以YYYY-MM-DDHH:mm:ss形式显示 vart1=moment(1411641720000).format('YYYY-MM-DDHH:mm:ss');复制 获取前一天日期,格式以YYYY-MM-DD形式显示 vart11=moment().day(0).format

  • 七牛云 霍锴:SDK 是一款技术服务的门面,如何方便用户高效接入是前提|Meetup 讲师专访

    6月26日下午,「ECUGMeetup第1期·杭州站」邀请到了来自七牛云的音视频客户端专家霍锴进行现场分享,「醉心于设计简单、优雅、极致人性化的SDK」的他将以《实时音视频SDK设计实践》为主题,畅谈实时音视频SDK架构设计的流程、挑战与解决方案。(温馨提示:活动报名可扫描文末二维码或直接点击报名链接哦~) 为帮助大家更好地了解活动与讲师详情,ECUG活动组特对讲师进行了简单的采访,现将文字摘录如下: 一、个人篇 1、请尝试用三个关键词介绍自己 乐于分享,长期主义,拥抱变化。 2、用一句话介绍自己要分享的内容 一款实时音视频SDK是怎么被设计出来的,包括在过程中遇到的挑战以及我们是怎么解决的。 3、「醉心于设计简单、优雅、极致人性化的SDK」,原因是什么? SDK是一款技术服务的门面,它会直接面向我们的用户。不管这个服务背后的引擎有多么的强大,用户正确快捷地接入才是前提。 4、对于一款优秀的SDK,应该如何定义? 接口简单,边界清晰,可扩展,可感知。 5、老板会写代码,是好事还是坏事? 老板会写代码,就意味着老板能够从技术层面了解你做的东西,如果碰巧老板的技术是行业内的大神,那就意味

  • 网上搜索Linux命令记录

    简单命令Linux ls 列出当前文件目录下的文件(只显示文件名) pwd 显示当前操作的路径 cd 跳转路径 ls-a 可以把隐藏的文件显示出来,另外,创建隐藏文件的命令是 touch.123.txt 就是在文件名字前加了一个“点” ls-h可以显示所创文件的大小,会进行一个自动的统计 ls-l以链表的形式显示文件信息,一行输出,其实是详细了 ls-a-l-h综合上面是三种方式,以链表的形式输出 ls-alh和 ls-a-l-h 的作用是一样的 clear是清空屏幕 touch创建一个文件 mkdir创建一个文件夹 rm删除文件或一个文件夹,值得注意的是,在删除文件夹的时候,要写rm文件夹名-r。其中-r的意思是递归。不管文件夹是不是为空都会删除!! rmdir删除文件夹(文件夹是空才能删除) rm/-rf从根目录开始删除(万恶的命令啊~~~) gedit使用linux默认编辑器对文件进行编辑 cat 可以查看文件的全部内容(不能编辑)还可以同时查看两个文件或多个文件的内容,例如: cat1

  • EF CORE 使用排他锁 干货 方法 悲观锁 entity framework 悲观锁

    这几天在升级.NETCORE版本,结果发现坑太大了,最后还是退级了。。原因是作为长期支持版本的3.1居然一大堆bug官方没有解决。。 查询了国内官方的基本没人讨论过EF怎么加悲观锁,很是蛋疼,去谷歌搜了一圈,把资料搬回来了。 废话不多说,一般来说EF是用不了排他锁的,也就是悲观锁,但是可以用曲线救国的办法实现,这对并发处理是至关重要的,不知道为什么官方居然不支持。 首先我用的数据库是mysql,引擎必须要InnoDB才支持行级锁,如果你的引擎不是可以用这个修改 altertable表名engine=InnoDB; 每个表的引擎都可以是单独不一样的,很多人使用锁失败可能是一开始就用不对引擎,以为全局引擎是lnnoDB就以为表也是这个引擎了,其实不是,查看办法可以用mysqlforNavicat设计-选项自己看看。 要加锁的话必须在查询背后添加 for update,这样查询的时候就会开始等待 for update只能用来等待加了for update的,如果你的select没有加for update,那也是等于无锁,这个网上很多解释了,反正

  • 前端的错误监控

    1、监听代码错误 <script> window.addEventListener('error',function(e){console.log(e,e.lineno)}); </script> 复制    window.onerror=function(e,s,l,c,error){ console.log(e,s,l,c,error) } 复制   2、 跨域代码监控 跨域之后 window.onerror根本捕获不到正确的异常信息,而是统一返回一个 Script error, 解决方案:对 script标签增加一个 crossorigin=”anonymous”,并且服务器添加 Access-Control-Allow-Origin。 <scriptsrc="http://**.**.**:9002/index.js"crossorigin=”anonymous”></script> 复制    3、vue项目的错误监控 Vue.config.er

  • 01-SpringMVC-HelloWorld

    一、什么是SpringMVCSpringMVC是非常优秀的MVC框架SpringMVC比Struct2更优秀。至于原因,我们可以先简单的理解,Spring4MVC是在Struct2后面出现的,SpringMVC占有后发优势。至于其他的原因,学完了这套课程后,我们再做详细的比较。二、第一个SpringMVC的项目:HelloWorld1、添加jar包1.1 spring包spring-aop-4.2.1.RELEASE.jarspring-beans-4.2.1.RELEASE.jarspring-context-4.2.1.RELEASE.jarspring-core-4.2.1.RELEASE.jarspring-expression-4.2.1.RELEASE.jarspring-web-4.2.1.RELEASE.jarspring-webmvc-4.2.1.RELEASE.jar1.2依赖的包commons-logging-1.1.1.jar spring日志包2、在web.xml中配置DispatcherServlet<!--配置Dispatcher

  • 实验十 团队作业6:团队项目用户验收&amp;Beta冲刺

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/13190137.html 团队名称 梦想进大厂 团队成员分工 鲁斌:做开发人员测试、做压力测试、编写软件功能测试文件、将文件上传至Github;道彤阳:接收测试反馈,做项目迭代,完善项目,美化项目;陈正丽:做真实用户测试,反馈测试信息,编制项目总结陈述PPT、撰写博客;李清华:做测试人员测试,编制每天的燃尽图,录制软件安装视频、编制项目总结陈述PPT; 团队的课程学习目标 1.掌握软件黑盒测试技术;;2.掌握软件项目确认测试内容,学会编制软件项目总结PPT; 这个作业在哪些方面帮助团队实现学习目标 掌握制作微信小程序的技能;提高了团队协作能力;掌握软件黑盒测试技术;学会制作团队项目总结陈述PPT;掌握了软件敏捷开发流程,明确项目确认测试内容 团队博客链接 https://i-beta.cnblogs.com/posts/edit

相关推荐

推荐阅读