转载:https://blog.youkuaiyun.com/u013059441/article/details/86564241
很久没更新了,上次是对SDK测试的一些简单总结以及环境的搭建,但是具体细节并不是很清楚,所以重开一贴,进一步对SDK测试进行总结(以下都是学习大神的,并不是一己之力,自觉很好,才有此记录)
一、文档阅读
1. SDK接口
提供该SDK支撑的所有能力,如:初始化、验证、发送消息、加密消息、解密消息等,不同SDK有不同的能力
-
/**
-
* @brief 初始化SDK,在每次启动时调用
-
* @return ERRNONE 初始化成功;
-
* ERRFAILED 初始化失败;
-
* ERRVERIFY 需要独立验证,验证方式及信息通过verify_info返回
-
* ERRNOTSUPPORT 当前状态不应该调用此接口
-
*
-
*/
-
virtual int InitSDK(// SDK的配置信息
-
const Config& config,
-
// 独立验证方式及信息
-
VerifyInfo& verify_info) =
0;
上述接口为初始化接口,入参有配置信息,独立验证方式,所以此时就应考虑如何设计demo才能更好的测试,往下会有demo截图
2. 错误码
提供各个接口的错误码,对应不同的错误类型,如下
-
enum ERROR_TYPE {
-
ERRNONE =
0,
-
ERRFAILED =
1,
-
ERRNOTSUPPORT =
2,
-
ERRNOKEY =
3,
// 密文使用的密钥版本太旧,需要请求对应版本的密钥
-
ERRVERIFY =
4,
// 需要独立验证
-
ERRCONFIGINVALID =
5,
// config过期,需要重新下载
-
ERRNEEDOAUTH =
6,
// 需要oauthcode
-
ERRTOKENINVALID =
7,
// sdktoken失效(需要重新激活)
-
ERRCAPTCHAEXPIRE =
8,
// 验证码过期(需要重发验证码)
-
ERRCAPTCHATOKENINVALID =
9,
// 验证码Token失效(需要重新激活)
-
};
上述错误码会在功能测试、用例设计中使用,需牢记
二、测试Demo设计
不同SDK有不同的设计方法,Android SDK 测试(一)当中的就比较简单,所以只需要按钮对应检查返回值即可,而有些SDK需要入参比较多,而且会有很多复杂场景,那么我们就不能那样设计了,下附图Demo截图
1. 状态
布置SDK测试的配置获取或者一些前置条件
2. 接口
主要场景:覆盖SDK提供的所有接口,按照自己口味设计参数的输入与输出
3. 用例
此处用例为特殊场景使用,非用例设计,用例设计参考上篇文章。如加密100次文件,解密100次文件
4. 结果
测试总得有结果吧,所以添加结果sheet,检查用例的测试结果,对应Pass/Fail填写在测试用例
5. 日志
非必要项,此处添加因该SDK所需时时检查日志内容,日志信息与adb logcat一致(按需做了筛选)