版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《软件测试》实验六
bugfree缺陷管理系统计算机与信息工程系 软件测试实验一、实验目的掌握缺陷管理工具的意图掌握缺陷管理开源工具Bugfree二、基本知识1.BugFree简介[1]BugFree的来源BugFree是借鉴微软的研发流程和Bug管理理念,使用PHP+MySQL独立写出的一个Bug管理系统。简单实用、免费并且开放源代码(遵循FreeBSDLicense>。如何有效地管理软件产品中的Bug,是每一家软件企业必须面临的问题。遗憾的是很多软件企业还是停留在作坊式的研发模式中,其研发流程、研发工具、人员管理不尽人意,无法有效的保证质量、控制进度,并使产品可持续发展。针对这个问题,我们独立做出了BugFree,并且半年多来每天都在使用。我们公司就是用它来管理Bug,不断提高产品质量的:->BugFree名称的含义命名BugFree有两层意思:一是希望软件中的缺陷越来越少直到没有,Free嘛;二是表示它是免费且开放源代码的,大家可以自由使用传播。1.3为什么开放BugFree的源代码呢?根据半年多的实践,觉得BugFree非常有用,我们公司的日常工作已经离不开它了。虽然没有微软的Bug管理系统(以前叫Raid,现在是ProductStudio>的功能那么强大,但是处理方法和思想是完全一致的,起码我自己用起来的感觉和在微软时基本一样,值得向大家推荐。我们是用开放源代码的PHP+MySQL开发的,目的就是希望跟大家分享BugFree。而且开放源代码之后,期待高手不断改进它,大家都能用到更加强大的功能。也算为中国的软件业做点小小的贡献:->BugFree代码在我们的“数字神经系统”中非常独立,很容易拿出来给大家共享。1.4BugFree仅仅是个工具不过坦率的讲,BugFree仅仅是个工具而已,重要的是掌握其中蕴含的软件研发的流程思想,才能用好这个工具。如果你以前没有用过Bug管理系统,那么一开始的时候也许你会觉得这个工具是在浪费时间,因为一个测试人员需要费神把发现Bug的详细步骤记录下来,有时还要贴一张示意图,这一切都不如当面说来得直接。但是使用一段时间,你会发现BugFree很有用,它忠实的记录着每个问题的处理过程,不《自由软件BugFree简介---借鉴微软公司软件研发理念的Bug管理系统》(FreeSoftwareBugFree>2/7自由软件BugFree官方网站断提醒你存在的问题,永远不会丢失和忘记。如果你参与过较大软件工程或产品的研发,就会理解它对软件可持续发展是至关重要的。而且研发的规模越大,BugFree的作用就会越大。2.bugfree安装⑵本文档已按照最新版本的BugFree2进行了更新,部分内容可能不适用于老版本的BugFree。建议访问BugFree下载页面,下载并升级至最新版本的BugFree。BugFree基于PHP和MySQL开发,是免费且开发源代码的缺陷管理系统。服务器端在Linux和Windows平台上都可以运行;客户端无需安装任何软件,通过IE,FireFox等浏览器就可以自由使用。BugFree2在BugFree1.1的基础上,集成了TestCase和TestResult的管理功能。具体使用流程是:首先创建TestCase<测试用例),运行TestCase产生TestResult<测试结果),运行结果为Failed的Case,可以直接创建Bug。TestCase标题、步骤和TestResult运行环境等信息直接复制到新建的Bug中。如下图所示。在安装BugFree2之前,需要首先安装Apache,PHP,Mysql支持软件包,例如XAMPP或EASYPHP等。下面以XAMPP为例进行说明。请先访问/zh_cn/xampp.html下载并安装最新的XAMPP版本。下载BugFree2安装包,解压后复制到XAMPP系统的htdocs子目录下。如果是Linux系统,安装路径一般为/opt/lampp/htdocs/bugfree。Window系统的安装路径一般为C:\xampp\htdocs\bugfree。进入bugfree的安装目录,复制文件Include/Config.inc.Sample.php为新文件Include/Config.inc.php,编辑新创建的文件,修改数据库链接设置:$_CFG['DB']['User'] ='root'。 //数据库登录用户名$_CFG['DB']['Password']=”。 //数据库登录用户密码$_CFG['DB']['Host'] ='localhost'。 //数据库服务器地址$_CFG['DB']['Database']='bugfree2'。 //指定BugFree数据库名称$_CFG['DB']['TablePrefix']='bf_'。 //数据库表前缀,默认为bf_。除非有冲突,不建议修改或为空$CFG['DBCharset']='UTF8'。 //数据库编码设置,保留默认值如果是Linux系统,修改下列目录和文件的权限;如果是Windows系统,跳过这一步。a> chmod777Data/TplCompile/b> chmod777BugFile/c> chmod777Include/Config.inc.php在浏览器访问http://<servemame>/bugfree。如果设置的数据库不存在,按照提示创建数据库,再点击继续安装。点击“安装全新的BugFree2”。安装成功后,显示首次登录的默认管理员帐号和密码,按照提示首先使用默认管理员用户名和密码登陆BugFree。从BUGFREE2.0RTM或2.0.X升级升级之前,为防止数据丢失,建议从浏览器退出BugFree,并备份相应的数据库和虚拟目录。下载BugFree2安装包,解压后复制到原BugFree安装目录下,覆盖原有文件。在浏览器访问http://<,QWQmamQ>/bugfree点击“从现有的BugFree2升级”,完成升级。从BUGFREE1.1升级升级之前,为防止数据丢失,建议在浏览器退出BugFree,并备份相应的数据库和虚拟目录。下载BugFree2安装包,解压后复制到原BugFree的安装目录下,覆盖原有文件。进入Bugfree的安装目录,复制文件Include/Config.inc.Sample.php为新文件Include/Config.inc.php,编辑新创建的文件,并复制Include/ConfigBug.inc.php的相应设置。点击“从BugFree1升级”,完成BugFree1.1到BugFree2的升级。注意:如果BugFree1.1升级到BugFree2之后显示乱码,请修改Include/Config.inc.php的$_CFG「DBCharset']值为空,再恢复原有的BugFree1.1数据库,重新进行升级$CFG['DBCharset']=”
主界面访问http://<servername>/bugfree,输入用户名和密码登录成功后,显示BugFree主界面:HdiiFree 1_钉HdiiFree 1_钉-JI*g*<i* 今-If £・克园・-财LtT«Kfitluk"■■■.■'?■pr>',・O'2iJifHit 3由】XH*r«fcJAHo日#:IM->)3*mm酒AU'?2?nh4i^9lVT9lt4乳ExFa/fh•工程选择框①:可以快速切换当前工程,工程模块框②和查询结果框⑥显示相应的模块结构和记录。•工程模块框②:显示当前工程的模块结构。点击某一模块,查询结果框⑥会显示所选模块的所有记录。•个性显示框③:a>指派给我:显示最近10条指派给我的记录。b>由我创建:显示最近10条由我创建的记录。c>我的查询:保存查询框⑤的查询条件。•模式切换标签④:切换Bug,TestCase和TestResult模式。默认登陆为Bug模式。•查询框⑤:设置查询条件。•查询结果框⑥:显示当前查询的结果。a>自定义显示:设置查询结果的显示字段。b> 统计报表:显示当前查询结果的统计信息。c>导出:将查询结果显示的自定义字段导出到XML文件。最多可同时导出5000条记录。d> 导入<仅支持TestCase模式):可以将导出的XML文件在Excel进行编辑后,再导入到BugFree中,实现TestCase批量编辑。最大支持2M大小的XML文件。e> 批量运行<仅支持TestCase模式):可以对查询结果的TestCase同时创建TestResult。最多支持100个TestCase。•导航栏⑦:显示当前登录用户名等信息。创建界面
为了保持用户体验的一致性,新建Bug,TestCase和TestResult的界面布局基本保持一致,只是具体填写字段有所不同。以新建Bug为例,在主界面模式切换标签选择Bug,点击[新建Bug]打开新建Bug页面。如下图,黄色标注字段为必填项。BUG的3种状态状态说明Active(活动〉Bug的初始状态。任何新建的Bug状态都是Active。可以通过编辑修改Bug的内容,并指派给合适的人员解决。Resolved(已解决〉解决Bug之后的状态。Closed(已关闭〉已修复Bug在验证无误之后关闭,该Bug处理完毕。如果没有真正解决或者重新复现,可以重新激活,Bug状态重新变为ActiveoBUG生命周期新建的Bug处于Active状态,可以通过编辑指派给合适的解决者。解决Bug之后,Bug状态变为Resolved,并自动指派给创建者。创建者验证Bug。如果未修复,再重新激活,Bug状态重新变为Active;如果已经修复则可以关闭,Bug状态变为Closed,Bug生命周期结束。已经Closed的Bug如果重新复现,也可以直接激活。具体流程如下图所示。BugLifecycleEditEdit开发人m端辑、解决bug一测试人员端辑验证、关闭或激活EditEdit开发人m端辑、解决bug一测试人员端辑验证、关闭或激活bugBUG的七种解决方案类型解决方案详细说明三种无效的BugByDesign设计需求就是这么设计的Duplicate这个问题别人已经发现NotRepro无法复现的问题四种有效的BugFixed问题被修复External外部原因(比如浏览器、操作系统、其他第三方软件〉造成的问题Postponed发现的太晚了,下一个版本讨论是否解决Won’tFix是个问题,但是不值得修复BUG字段说明Bug标题:为包含关键词的简单问题摘要,要有利于其他人员进行搜索或通过标题快速了解问题。工程名/模块路径:指定问题出现在哪个工程的哪个模块。Bug处理过程中,需要随时根据需要修改工程或模块,方便跟踪。如果后台管理指定了模块负责人,选择模块时,会自动指派给负责人。指派给:Bug的当前处理人。如果不知道Bug的处理人,可以指派给Active,工程或模块负责人再重新分发、指派给具体人员。如果设定了邮件通知,被指派者会收到邮件通知。状态为Closed的Bug,默认会指派给Closed,表示Bug生命周期的结束。抄送给:需要通知相关人员时填写,例如测试主管或者开发主管等。可以同时指派多个,人员之间用逗号分隔。如果设定了邮件通知,当Bug有任何更新时,被指派者都会收到邮件通知。严重程度:Bug的严重程度。由Bug的创建者视情况来指定,其中1为最严重的问题,4为最小的问题。一般1级为系统崩溃或者数据丢失的问题;2级为主要功能的问题;3级为次要功能的问题;4级为细微的问题。优先级:Bug处理的优先级。由Bug的处理人员按照当前业务需求、开发计划和资源状态指定,其中1的优先级最高,4的优先级最低。一般1级为需要立即解决的问题;2级为需要在指定时间内解决的问题;3级为工程开发计划内解决的问题;4级为资源充沛时解决的问题。其余选项字段<Bug类型、如何发现、操作系统、浏览器):可以通过编辑Lang/ZH_CN_UTF-8/_COMMON.php来自定义。创建Build:Bug是在哪个版本<Build或者Tag)被发现的。解决Build:Bug是在哪个版本<Build或者Tag)被解决的。解决方案:参考Bug的七种解决方案。如果解决方案为Duplicated,需要指定重复Bug的编号。处理状态:Bug处理过程的附属子状态,例如LocalFix表示已在本地修复;CheckedIn表示修复代码已经提交;Can’tRegrets示修复的问题暂无法验证等。机器配置:测试运行的硬件环境,例如DellG2802G/200G。关键词:主要用于自定义标记,方便查询。关键词之间用逗号或者空格分隔。例如,对于跨团队的工程开发,可以约定一个关键词统一标记工程。相关Bug:与当前Bug相关的Bug。例如,相同代码产生的不同问题,可以在相关Bug注明。相关Case:与当前Bug相关的Case。例如,测试遗漏的Bug可以在补充了Case之后,在Bug的相关Case注明。上传附件:上传Bug的屏幕截图,Log日志或者CallStack等,方便处理人员。复现步骤:[步骤]要描述清晰,简明扼要,步骤数尽可能少;[结果]说明Bug产生的错误结果;[期望]说明正确的结果。可以在[备注]提供一些辅助性的信息,例如,这个bug在上个版本是否也能复现,方便处理人员。测试用例<TestCase)是在测试执行之前设计的一套详细的测试计划,包括测试环境、测试步骤、测试数据和预期结果。在导航栏点击TestCase,即切换到TestCase模式,点击[新建Case],创建测试用例。可以通过页面上方的[复制]按钮快速创建类似的测试用例。TESTCASE状态Case状态详细说明Active标示有效的测试用例。所有新建Case都默认为该状态Blocked当前Case因为其他原因,无法正常运行。通过编辑Case进行修改Investigating待研究确认的测试用例。通过编辑Case进行修改Reviewed通过测试用例评审的用例。通过编辑Case进行修改TESTCASE字段说明Case标题:测试点的简单描述<30字以内)或测试的目的。工程名/模块路径:指定测试用例对应的工程名称和模块路径。指派给:执行TestCase的人员。如果不知道具体的用例执行人员,可以指派给Active。抄送给:需要通知相关人员时填写。可以同时指派多个,人员之间用逗号分隔。优先级:Case执行的优先级。1:冒烟测试及每次测试都需执行的用例,严重程度最高;2:覆盖产品所有主要功能;3:次要功能;4:细节功能〈资源有限时,可以不执行)。其余选项字段<Case类型、测试方法、测试计划等):可以通过编辑Lang/ZH_CN_UTF-8/_COMMON.php来自定义。标记删除:用来标记已失效的用例,再通过查询条件进行排除。关键词:主要用于自定义标记,方便查询。关键词之间用逗号或者空格分隔。例如,对于跨团队的工程开发,可以约定一个关键词统一标记工程。显示顺序:通过输入0~255之间的任一整数实现对TestCase的自定义排序。例如,按照业务执行的流程重新排列Case的显示顺序。TestResult只能通过运行已有测试用例来创建。打开一个已有的测试用例,点击页面上方[运行]按钮,进入创建TestResult页面。Case标题、模块路径和步骤等信息自动复制到新的TestResult中。同时,TestResult相关Case自动指向该测试用例。记录执行结果<Passed或Failed)和运行环境信息〈运行Build、操作系统、浏览器等信息),保存测试用例。针对执行结果为Fail的TestResult,点击页面上方的[新建Bug]按钮,创建新Bug。Result标题、模块路径、运行环境和步骤等信息自动复制到新的Bug中。同时TestResult相关Bug指向新建Bug。TESTCASE的执行结果Case状态详细说明Passed运行成功的TestCaseFailed运行失败的TestCaseBugFree默认显示2个查询组,每组有3个查询字段〈总共6个查询字段)。假设要查询工程Project1,Project2和Project3从2008年1月1日起所有未关闭的Bug,可以设置如下的查询条件:
查询技巧:点击[保存查询]按钮,可以将当前的查询条件保存到右下角个性查询框“我的查询”标签页。点击已保存的查询,可以对查询条件进行编辑和修改。日期类型字段支持相对日期的查询。例如,创建日期=-1将查询所有昨天创建的Bug。通过“包含”操作,可以指定多个查询值。例如,创建者包含user1,user2,搜索结果将显示两个创建者的Bug。注意:BugFree默认支持6个查询字段,可以通过修改Include/Config.inc.php下面的值更改查询字段的数量。$_CFG['QueryFieldNumber']=6。 //ThefieldsnumbertoqueryinQueryBugForm.php快速筛选在搜索结果列点击某一字段的值,可以快速进行筛选,筛选列高亮显示。例如,要查看所有解决方案为ByDesign的Bug,如下图,点击任一解决方案为ByDesign的Bug。意:筛选会忽略当前设置的查询条件。自定义显示意:筛选会忽略当前设置的查询条件。自定义显示1®全部导出1did统计报表解决者解决方案gue^tByDesignguestByDesignguestByDesignguestByDesignguestByDesignguestByDesignguestByDesignguestByDesignguestByDesignguestByDesign自定义显示字段序。在查询结果框右上角,点击[序。在查询结果框右上角,点击[自定义显示]链接,可以显示或隐藏查询结果的字段和显示顺查询结果排序点击搜索结果标题某一字段的标题栏,可以按该字段对搜索结果进行排序。再次点击则切换升序或降序。例如,需要查看最近更新的Bug,首先添加“最后修改日期”自定义字段,再在查询结果标题栏点击该字段。ST1-1^132tOQ 下一典」 目罡心函徵至那享出I皿溢情8裹! Ruqga四状花Iff祛方卖1吊扁尊莓日期1424支徉薰脾而也惜AdmzOoT/u-is1301手庠神黄品婀SOO7-12-IS£33为总暇库哀辖的添fifl茬母A0免2007-12-18L」罗(直字》亍小Arave200742-17旧82ofcfe炭琏。段心caw20Q7-12-1?[132g矣泌J1Byg冲12007-12-J6I2S1200742-151tfdddactg2007-1244331日韦毒⑦亍又卜SrOeFflT2P074344在查询结果框右上角,点击[统计报表]链接打开新窗口。统计报表可以显示Bug,TestCase或TestResult当前查询结果的统计信息。在统计报表页面的左侧选择统计项,点击[查看统计]按钮,右侧显示Flash统计图表。如下图:
senpul5n£D口昵。创洼者马有senpul5n£D□日叩靖日础浦Mb“q*M为左今•市网日皿解点^翔分栉t痘厂压心帆s日的样flu掖□日网邮句弟粉鬻v璃□日g舞辑分栉匚G.9供间日U盼有C强口土。关闭日明父栉(震*口关闭出盼机痂□日皿敏推■阀公新&Q世指概人河24二.smc3卜Ex7£??5形二I,gHHEngsg岗色官24二.smc3卜Ex7£??5形二I,gHHEngsg岗色官ErJE官导』Q官z&En括台莒??sE7IECIDEEd由°?捋a*-7SEI22JM宫宫在安装过程或者通过编辑Include/Config.inc.php文件可以启用邮件通知功能。例如,修改如下SMTP服务器信息。/*9.SMTPparamsetting.*/$_CFG['Mail']['SendParam']['Host']='localhost'。//Theservertoconnect.Defaultislocalhost$_CFG['Mail']['SendParam']['SMTPAuth']=false。 //WhetherornottouseSMTPauthentication.DefaultisFALSE$_CFG['Mail']['SendParam']['Username']="。 //TheusernametouseforSMTPauthentication.$_CFG['Mail']['SendParam']['Password']=''。 //ThepasswordtouseforSMTPauthentication.BugFree可以实时和定时发送邮件通知。在新建Bug或TestCase并保存后,指派给和抄送给将收到实时邮件通知。可以在“抄送给”编辑框输入多个用户帐号或者邮件地址,地址之间用逗号分隔。如下图,BugFree自动按照输入的字母对用户名进行筛选。BugFree还可以发送定期邮件通知。如果需要定期对所有未关闭Bug的当前指派者发送邮件提醒,在Linux环境下定期执行bugfree/Shell/NoticeBug.sh;Windows环境下则定期执行bugfree/Shell/NoticeBug.bat。如果需要每周接收各工程/模块的过去7天新增Bug和超过7天未处理的Bug的邮件通知:a> 后台管理页面,编辑指定的工程,在通知邮箱编辑框输入邮件接收的地址。b>Linux环境下,通过crontab定期执行bugfree/Shell/StatBug.sh;Windows环境下则可以通过定时任务程序定期执行bugfree/Shell/StatBug.bat。在BUG和CASE中使用UBB代码BugFree2.0提供了对基本UBB代码的支持,可以在编写复现步骤和注释时添加链接、设置字体、嵌入图像等,也可以直接引用bug,case和result。例如,编辑状态下输入文字:链接[url][/url]字体[b]加粗[/b],[i]斜体[/i],[u]下划线[/u]引用bug#[bug]100[/bug],case#[case]11[/case],result#[result]6[/result]嵌入图像[img]/buglifecycle.png[/img]^3^字体加祖-布招『下划貌-引用bug#100fca5e#llfre5ult#6保存后的显示效果:嵌入图像保存后的显示效果:嵌入图像更改上传附件的大小BugFree默认附件大小为1000K,可以编辑Include/Config.inc.php文件下列设置更改上传文件大小。$CFG['File']['MaxFileSize']=1024*1000。 //Themaxfilesize(Byte>.使用快捷键BUGFREE管理员角色BUGFREE管理员角色以下快捷键需要浏览器支持。页面快捷键说明主史血Ctrl+G弹出一个对话框。输入ID后,直接打开相应编号的Bug,Case或ResultBug,Case和Result通用快捷键Alt+P显示查询结果的上一个记录Alt+N显示查询结果的下一个记录Alt+E编辑当前记录Alt+S保存记录Bug史血Alt+R解决BugAlt+C关闭BugAlt+A激活BugCase贝面Alt+C复制CaseAlt+R运彳亍CaseResult贞面Alt+B创建BugBugFree的管理员包括系统管理员、工程管理员和用户组管理员三种角色。可以同时指派任意用户为任意角色。这三种管理员登陆BugFree之后,主页面上方导航栏会显示一个[后台管理]的链接。系统管理员全新安装BugFree之后,会自动创建一个默认的系统管理员帐号admin。你可以通过编辑BugFree目录下的Include/Config.inc.php文件,增加其他系统管理员帐号。例如,假设要将user1设置为系统管理员。编辑Include/Config.inc.php文件,将user1添加到下面的行。/*2.Defineadminuserlist.Likethis:array('admin','test1'>*/$CFG['AdminUser']=array('admin',’user1>。注意:如果userl不存在,首先需要默认管理员帐号admin登录之后,创建该用户。工程管理员工程管理员只能由系统管理员指派,指定哪些用户组可以访问当前工程。该角色负责维护Bug和Case的模块结构。用户组管理员用户组管理员可以由系统管理员或者其他用户组管理员指派,负责维护一个用户组。一般情况下,用户组管理员和工程管理员可以是同一个用户。但是在大型的组织,在人员很多的情况下,可以指派专人对用户组进行维护。技术负责人则担当工程管理员的角色,负责维护Bug和Case的模块结构。管理员的具体权限系统管理员、工程管理员和用户组管理员三种角色的详细权限如下表所列。系统管理员工程管理员用户组管理员工程管理可以添加工程可以查看和编辑所有工程可以修改工程名称和显示顺序可以指派工程用户组可以指派工程管理员可以编辑Bug或Case模块不可以添加工程仅可以查看和编辑自己是工程管理员的工程不可以修改工程名称和显示顺序可以指派工程用户组不可以指派工程管理员可以编辑Bug或Case模块无权限用户管理可以查看所有用户可以查看所有用户可以查看所有用户个人资料整理仅限学习使用可以添加用户可以编辑、禁用或激活所有用户可以添加用户可以编辑、禁用或激活自己创建的用户或本人可以添加用户可以编辑、禁用或激活自己创建的用户或本人用户组管可以查看所有用户组可以查看所有用户组可以查看所有用户组理可以添加用户组可以编辑或删除所有用户组可以添加用户组可以编辑或删除自己添加的用户组可以添加用户组可以编辑或删除自己添加的用户组或自己是用户组管理员的组用户管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国外石英矿山承包合同协议书范本
- 合同板本类型
- 2024年济宁烟台客运上岗证考试题
- 2024应届生签合同的合同陷阱
- 2024上海市旅游包车合同
- 三年级语文上册第二单元测试卷-基础知识与综合能力篇 含答案 部编版
- 2024建筑劳务人工合同范本
- 2024汽车配件供应合同
- 员工人事档案
- 报废车辆收购合同(2篇)
- 中国健康生活方式预防心血管代谢疾病指南
- 跨境电子商务平台的数据治理策略
- 2024教师行业分析
- 安徽省宿州市省、市示范高中20232024学年高二上学期期中教学质量检测语文试题(解析)
- 幼儿教师职业礼仪中职全套教学课件
- 创业培训-SYB推广介绍课件
- 血栓预防宣教
- 2024年交投集团招聘笔试参考题库附带答案详解
- 合同模板的使用指南与操作规范
- 2023年小学美术教育新课标实施解读
- 人员素质测评面试课件
评论
0/150
提交评论