请教下,精准测试方案具体是怎么施行的呢,例如覆盖率有什么指标要求么
当乒乓球运动员 😁
#18 楼 @shenkai600 请教下 uitesting 截图你是怎么搞得呢
@chenhengjie123 我在配置环境的时候遇到这个问题,google 后无解,你有遇到么
#2 楼 @cy_suncheng 你打算换工作啊
#3 楼 @cy_suncheng 呦,你还有时间回帖子哪。
#1 楼 @seveniruby 广告系统的测试是行业里面的高端领域,为啥呢求科普
工作地点是在?
现在还有机会报名么
帅气,几亿用户的 app 是啥啊,我也贡献一份力量哈哈!
希望 15 年换个新工作,自己做的更好,希望家人身体健康,每天开开心心!
请教一下关于 getAttribute 的问题,我在 appium 的 lib/devices/ios/ios-controller.js 里看到有这么一段代码,
rest.get('/wd/hub/session/:sessionId?/element/:elementId?/attribute/:name', controller.getAttribute);
iOSController.getAttribute = function (elementId, attributeName, cb) {
if (this.isWebContext()) {
var atomsElement = this.getAtomsElement(elementId);
if (atomsElement === null) {
cb(null, {
status: status.codes.UnknownError.code
, value: "Error converting element ID for using in WD atoms: " + elementId
});
} else {
this.executeAtom('get_attribute_value', [atomsElement, attributeName], cb);
}
} else {
if (_.contains(['label', 'name', 'value', 'values', 'hint'], attributeName)) {
var command = ["au.getElement('", elementId, "').", attributeName, "()"].join('');
this.proxy(command, cb);
} else {
cb(null, {
status: status.codes.UnknownCommand.code
, value: "UIAElements don't have the attribute '" + attributeName + "'"
});
}
}
};
这里是说 python 在用 get_attribute 方法时会发送 get 里的请求,然后 appium 将请求映射为 iOSController.getAttribute 么,那这里是说如果是原生 app,就只能获取到'label', 'name', 'value', 'values', 'hint'这几个属性么?
期待你的回复!
是真机测试么
最近用 appium 1.3.4 在 ios8.1 真机上测试发现总是运行不起来脚本,仔细看 appium 的日志发现/Applications/Xcode6.1.app/Contents/Developer/usr/bin/instruments -t /Applications/Xcode6.1.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate -D /tmp/appium-instruments/instrumentscli0.trace -w fa5d0d6515785349a13673c0e147514b8800d86c umeng.UMSocial -e UIASCRIPT "/Users/lixinsheng/Library/Application Support/appium/bootstrap/bootstrap-5ab9d3956726ac35.js" -e UIARESULTSPATH /tmp/appium-instruments
是在运行这段代码时候抛出了 UIAScriptAgentSignaledException 这个异常,经过一番 google 之后发现,原来在 ios8.1 的设置/开发者里,多了个 Enable UI Automation 开关,打开后就解决了。。。困扰了两天,OMG!
自己总结了一下 SDK 中接口的测试点,希望各位高手予以补充(下面提到的大部分是有网络请求的接口)
1、全新 sdk
1.1、了解业务流程,确定开放给开发者都有哪些接口
1.2、了解 SDK 用到的所有协议,每个协议中字段的意义和作用以及 server 端处理逻辑
1.3、接口要校验输入参数各种输入情况是否能正确处理,返回值的正确性,是否有数据缓存到本地,检查是否有回调,如果有对于请求成功、请求失败(包括无网络、服务器返回非 200 错误代码)是否都有调用
1.4、测试中对每个请求都应该抓包测试,查看请求的字段、参数值、返回值是否正确
1.5、对于协议中必传字段,SDK 中是否校验为空的情况
1.6、查看是否存在多发、少发请求的情况
1.7、对于异步请求的结果在其他地方(A 类中)会用到的情况,检查是否存在网络较慢情况下,未完成请求数据为空时 A 类就用到数据
2、对于 SDK 更新
2.1、对于增加接口,要确定新增接口对应的协议及各字段的意义
2.2、对于增加接口调用新接口时要进行抓包,确定发送请求的参数、返回值与协议一致
2.3、对于删除、新增接口都应在集成文档中说明
2.4、对于删除、新增接口都应确保对于老接口没有影响
2.5、SDK 更新时,对于有用户数据的情况,要考虑旧 SDK 没有数据,更新新 SDK,新 SDK 是否可以使用;旧 SDK 已有用户数据,更新新 SDK 后旧数据是否存在
3、上线前检查
3.1、头文件注释部分
3.2、增加 API,头文件更新 API
3.3、删除 API,头文件删除 API
3.4、检查包名、版本,测试中 url 是否存在测试用的端口或 url,发布时应改成正式环境
3.5、检查包大小及包的架构检查(ios 如 armv7/armv7s/armv64)
3.6、检查
4、上线后检查
4.1、进行上线回归测试
4.2、检查文档更新
4.3、是否上传至 cocoapods
可惜没有丰富的自动化测试和持续集成相关经验>_<
#1 楼 @umbrella1978
还有个问题
1、就是假如有 A->B->C 三个操作,完成 A 后才能完成 B,完成 B 才能完成 C,如果操作 A 失败了这种是不属于比较严重的 bug,导致 B/C 的用例无法执行啊
2、那校验 C 的测试用例里,是也要先模拟 A、B 操作(A/B 操作在前两个用例已经模拟过了)之后,才进行判断么,那是深层次的操作都要把之前的用例的操作重复一遍么
谢谢啦!
hi,我叫 lifreshman,qq:237184453,4 年工作经验,2 年半客户端测试,半年 ios 开发,半年 ios 测试。目前在一家移动互联网公司做 ios sdk 测试,主要是集成 sdk 并进行测试。熟悉 OC、python、C。工作中了解了 appium,xctest 等,对移动自动化测试、持续集成比较感兴趣,希望加入到新秀培养计划中和大家一起学习共同进步。