1. 本周学习进展
a. 软件测试理论基础
i. 具体进展
完成了软件测试理论基础的学习,包括:V、W、H、敏捷测试各模型基本流程与使用场景;各类测试基本概念和应用场景;软件缺陷的生命周期
ii. 遇到的问题
在使用Selenium框架时,一些高级操作不是很熟悉,比如元素定位(几种方式的选择问题,没有区分好具体的适用情景),发送键入(之前使用按钮点击的操作偏多,针对新的功能测试需求,没有合适的解决方案)
iii. 解决办法
使用Chat-GPT,描述请求,掌握XPath和ID选择器以及CSS选择器的具体使用场景的区别
查找文档,了解模拟发送键入的相关方法
b. 测试用例及文档编写
i. 具体进展
掌握了用例设计方法以及不同方法在各类场景的选择策略,完成微信朋友圈点赞功能的测试用例设计,设计内容见附件一
ii. 遇到的问题
参考他人博客中的文章,发现在点赞功能用例设计时,缺少针对版本的测试,微信存在不同版本,在不同终端设备中安装,可能需要进行更全面的设计
iii. 解决办法
使用Chat-GPT,协助完善测试用例设计
c. 持续集成
i. 具体进展
掌握了CI/CD基本概念及原理,学习了Jenkins平台基础功能,注册账号后,配置了一项自动化测试任务,实现流水线进程的终止,释放测试完成的当前版本
ii. 遇到的问题
使用Jenkins时,针对当前App需提交的正式版本,在流水线中无法释放
iii. 解决办法
百度查询后,找到原因:由其他团队内开发成员操作,该版本正在自动化测试进程中,无法释放,可以在日志信息中查看状态是否处于下发,进而判断是否可以进行释放操作
学习课程:B站:喜得Sid,无门槛图解DevOps敏捷开发
https://www.bilibili.com/video/BV1Lt42157J4?vd_source=bdfef2ad78c4bf8c1600f6628b43f183
2. 下周学习规划
a. 计划任务⼀(具体任务描述及预期⽬标)
任务:学习测试工具的使用方法,完成常用工具的下载及安装
目标:学会使用抓包工具并实践,使用Postman针对开发过的网页进行接口测试,学会项目管理工具JIRA的使用方法
b. 计划任务二(具体任务描述及预期⽬标)
任务:学习手动测试流程,学习探索性测试理论,掌握缺陷提交规范
目标:针对微信朋友圈点赞功能,进行测试计划与策略的指定,测试方案的设计、测试用例编写、并手工测试,测试完成输出测试报告
c. 计划任务三(具体任务描述及预期⽬标)
任务:深入学习JMeter性能测试工具,学习JMeter的安装与配置,掌握JMeter的基本使用方法,学习JMeter的性能测试场景设计与执行,掌握性能测试数据分析的方法
目标: 结合已开发的网页项目,进行一次性能测试实践
3. 我要分享&我的思考
a. 分享主体:
分享正⽂
本次我想分享一下我对于DevOps中CI/CD的思考和理解,结合之前实习时的具体经历。
首先,它是什么?
CI/CD 是持续集成和持续交付/部署的缩写,旨在简化并加快软件开发生命周期。
持续集成(CI)是指自动且频繁地将代码更改集成到共享源代码存储库中的做法。持续交付和/或持续部署(CD)是一个由两部分组成的过程,涉及代码更改的集成、测试和交付。持续交付不会自动部署到生产环境,持续部署则会自动将更新发布到生产环境。
那么,为什么它出现在企业级的项目开发中?
CI/CD 可帮助企业组织避免错误和代码故障,同时保持软件开发和更新周期的持续。
随着应用规模的扩大,CI/CD 的功能有助于降低复杂性、提高效率并简化工作流。
CI/CD 可自动执行以前将新代码从提交到生产所需的人工干预,因此可最大限度地减少停机时间,并加快代码的发布速度。而且,由于能够更快地将更新和更改集成到代码中,因此,可以更加频繁、高效地采纳用户的反馈意见,从而为用户带来积极的效果,客户的整体满意度也会有所提高。
成功的 CI 意味着,一旦某个开发人员对应用的更改被合并,这些更改就会通过自动构建应用并运行不同级别的自动化测试(通常是单元测试和集成测试)来进行验证,以确保相应更改不会破坏应用。这意味着要测试从类和函数到构成整个应用的不同模块的所有内容。如果自动化测试发现新代码与现有代码之间存在冲突,CI 支持更轻松地快速且频繁地修复这些错误
参考文档:RedHat:什么是CI/CD