【背景】
所在项目使用Swift来开发iOS端APP,之前版本用的是Swift2。
Swift3其实在项目开始第一个版本中途(16年9月)就已经出来,基于开发工程师们的“经验”,安排在半年后第6个迭代(17年3月)才开始谨慎的移植。
Swift3中文版介绍参考 http://tech.glowing.com/cn/swift3/
【QA的工作】
1. 基本工作:
因为是涉及语言升级切换,通过代码库(gitlab)的递交记录及文件修改面积估计影响范围是:所有功能。
冷静评估后,得出的版本测试计划是,覆盖所有功能的P0主功能回归
主要问题: 开发自测提交后, QA使用 在线打包平台的iOS包, 消息推送功能 整个不可用(崩溃)
排除过程:在排除 证书因素(xxxx.mobileprivision)、代码因素(不同分支)后,最后锁定原因是打包平台选用的Xcode版本(8.0)与开发Xcode版本(8.2.1)不一致。
最终方案:将打包平台的XCode版本统一选为最新版本8.2;开发添加打包注意事项。
2. 特殊版本维护
项目组,自上一个版本开始,接入了QA大组推荐的报bug利器-BugEase;这个新利器的接入和维护由QA负责独立分支(test_bugease)。
主要困难: 1. 如何方便的合代码 2.Bugease官方主页无swift3示范
最终方案: 请教达人+google,选用完全覆盖(test -> test_bugease) + 重新添加Bugease SDK
----------总体方案 开始----------
//拉新代码,切工作分支
# git clone ssh://adam_2048/poct/poct-ios.git
# cd poct-ios/
# git checkout test_bugease
//先将本地的master分支重置成test
# git reset --hard test
// 修改一下文件:BugEase合入
... ...
//再提交并推送到远程仓库
# git add .
# git commit -m "Swift3工程 导入BugEase SDK x.x.x "
# git push origin test_bugease --force
----------总体方案 结束----------
----------BugEase 合入 开始----------
//Podfile文件添加
pod 'BugEase'
//pod 命令行安装(工程Podfile所在目录)
# pod install --verbose --no-repo-update
//POCT->POCT-Bridging-Header.h 文件添加
#import
// POCT->AppDelegate->AppDelegate.swift 应用启动加载BugEase插件
(Swift3 对OCpod库导入的类成员函数、枚举变量区别与Swift2,根据Xcode提示来)
//hzwangyangdan add BugEase SDK 20170309
BEManager.share(withAppKeys: "????f24220762348025da8103218????", with: .invocationEventFloatButton)
return true
----------BugEase 合入 结束----------
【几个经验总结】
1. 作为开发团队的一员,我们QA工程师,对代码的变动要做到 变动清楚、评估周祥,以期测试达到高效率低风险。
2. 拥抱新工具,新技术,不要轻易假借别人之手,亲历为之。
3. BugEase这类工具,比较适合 纯客户端的功能测试、特别适合交互走查、视觉走查 这个环境。值得推广,但推荐单独拉分支使用。
Swift3来了,QA准备好了吗?
发表于:2017-08-07
作者:AdamWang
来源:
- 周排行
- 月排行
-   软件质量管理的影响因素
-   浅谈数据质量管理:为了更清醒的数据
-   软件质量标准与测试依据和规范
-   如何有效提升软件测试质量?
-   面对质量,如何释放被低估的数据价值?
-   全面的质量保障体系之回归测试策略
-   良好的BUG报告可以为你节省宝贵的时间
-   全面的质量保障体系之回归测试策略
-   描绘质量属性的六个常见属性场景
-   称职QA经理必备的13项技能
-   质量保证漫漫谈之QA常用的几种报告
-   全面质量控制(TQC)和全面质量管理(TQM)的区别
-   软件质量标准与测试依据和规范
-   软件质量管理