EconomicIndoor集成测试
加密时序列号相同引发的呼叫功能异常
现象描述: 配置完房间号一次性呼叫问题
问题描述: 两台室内机升级后配置到同一门口机, 各种配置正确. 作为主叫呼不出去, 作为被叫可以接听, 每修改一次房间号, 就能呼出去一次, 然后又退回到呼不出去能够接听的状态.
排查方法: 查询门口机的"室内机-MAC-number"表, 发现MAC重复
产生原因: 加密时两台设备序列号一致, 导致MAC一样, 而门口机无法区分两台MAC一样的设备
追踪串口呼叫接口缺陷
现象描述: 拷机呼叫两天, 大概率重启:
(1) 门口机轮询呼叫室内机, 室内机一半执行监视+接听, 一半执行呼叫, 极大概率重启
(2) 室内机两两一组呼叫接听, 大概率重启
问题描述: LOG看不出重大异常, 莫名重启, 主叫重启概率>被叫重启概率
产生原因: 其它缺陷>串口呼叫接口和监视接口对主线程界面进行了操作, 情况(1)概率最大因为测试中调用了两个高风险接口, (2)只调用了一个高风险接口, 重启概率相对小(1/300次/台)
假挂断
现象描述: 接通挂断的界面和实际是否接通挂断情况不一致,
问题描述:
产生原因:
白屏
现象描述: 呼叫功能拷机测试, >6h后屏幕出现白条, 越久白色越多直至屏幕画布基本全白, 且仅主叫设备出现此现象
问题描述: 异常Log"Out of memory"
问题定位: 注释干扰项+针对独立项拷机前后比较内存分配情况
(1) 串口加debugMalloc打印堆栈信息, 发现堆栈溢出, 内存泄漏线索
(2) 分别注释来电接听取流, ***功能, 记录拷机前后内存使用情况
产生原因: 对照组已跑死黑屏, 问题原因无法判定
附: 内存使用情况截图
serial command>debugMalloc
hjptestfor:recv:debugMalloc
<MALLOC_STATS> ====== STATISTICS (...sdk/share/serialcmdinterface/serialcmd.c) ======
<MALLOC_STATS> x Bytes in ...project/economic_indoor/backup.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/sqlite3/sqlite3.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/sqlite3/sqlite3.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/sqlite3/sqlite3.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/sqlite3/sqlite3.c:, generations: ...
...
<MALLOC_STATS> x Bytes in ...sdk/share/rtspServer/util/rtsps_misc.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/rtspServer/util/rtsps_misc.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/rtspServer/util/net_util/rtsp_net_util.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/rtspServer/util/rtsps_util.cpp:, generations:
...
<MALLOC_STATS> x Bytes in ...sdk/share/mediastreamer2/castor3snd.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/mediastreamer2/castor3snd.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/mediastreamer2/castor3snd.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/mediastreamer2/castor3snd.c:, generations:
<MALLOC_STATS> x Bytes in ...sdk/share/mediastreamer2/castor3snd.c:, generations:
按键式通话接听后无声音
现象描述: 提交系统测试前才发现按键式通话接听后无声音
问题描述: 门口机Log显示server未起? or server起了但音频失败?
产生原因:
吞字
现象描述: "仓库的后面是一座小屋, 太阳从东方升起来."传递到接收方听到的大概是"仓库的是一座, 太阳从起来".
问题描述: DSP
产生原因: DSP
消回声
现象描述:
- 多台Indoor同时监视同一台IPC/Door
现象描述: 只有一台成功, 其它台没有提示"Monitor fail"而是直接退回主界面
产生原因: 先判断单独monitor能否取到流, 再判断多台同时取流代码是否一问题
提高开发和测试过程效率
1. 首先做好设备批量升级+升级配置不清空功能, 提高每天出一个版本进行拷机测试时对拷机设备升级的效率
2. 开发应用和开发自动化测试接口同步进行, 应用开发结束, 集成测试阶段就可以开始自动化测试
3. 自动化测试接口有两个层面, 第一层面是直接操作配置文件, 检查接口, 其实可划归到软件开发单元测试; 第二层面是"区分界面+模拟界面触摸"实现测试
EconomicIndoor集成测试的更多相关文章
- ASP.NET Core 中文文档 第五章 测试(5.2)集成测试
原文: Integration Testing 作者: Steve Smith 翻译: 王健 校对: 孟帅洋(书缘) 集成测试确保应用程序的组件组装在一起时正常工作. ASP.NET Core支持使用 ...
- 如何做好GPS平台软硬件集成测试
集成测试是为了构建一个更大的系统或平台,这个系统的几个部分通常是由不同的团队或甚至不同的公司开发的,以前在做信息化的软件开发时,面临的集成测试通常是不同软件子系统之间的集成测试,往往被这一阶段的测试搞 ...
- Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例)
这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例) ...
- 对ASP.NET 5和ASP.NET MVC 6应用程序进行集成测试
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:之前有文章谈到如何对ASP.NET 5的应用程序进行单元测试(需使用xunit),今天 ...
- 使用Gradle运行集成测试
如果Gradle构建的项目是一个web项目的话,里面可能包含一些集成测试和功能性测试.这些测试和单元测试不同之处是在运行之前要先在本地将web服务启动起来,并且跑完测试后能够自动的关闭web服务. 在 ...
- 学习笔记——Maven实战(五)自动化Web应用集成测试
自动化集成测试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及具体实践,我们都知道,自动化测试是持续集成必不可少的一部分,基本上,没有自动化测试的持续集成,都很难称之为真正的持续集成. ...
- 如何在ASP.NET 5和XUnit.NET中进行LocalDB集成测试
今天继续昨天的话题--单元测试,不过是在ASP.NET 5中的单元测试. 在当前的Visual Studio 2015 CTP6中,MSTest是不支持对ASP.NET 5项目进行单元测试的.因而,要 ...
- e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (六) 自动化测试结构小节
上一篇‘e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (五) 如何让窗体记录登录 ...
- e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (四) Q 反回调
上一篇文章“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) SqlServ ...
随机推荐
- JSON对象和字符串的转换
JSON.parse()和JSON.stringify() 1.parse 用于从一个字符串中解析出json 对象.例如 var str='{"name":"cpf& ...
- SpringMVC实现注解式权限验证(转)
SpringMVC学习系列(9) 之 实现注解式权限验证 对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用serv ...
- THINKCMF-NGINX伪静态
location / { index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^/index.php( ...
- 《HTML5权威指南》
<HTML5权威指南> HTML元素: html字符实体 html全局属性 html base标签 用元数据元素说明文档 标记文字(第八章) 标记文字.组织内容.文档分节 表格元素 表单元 ...
- linux配置更改yum源
1,进入yum源配置目录 cd /etc/yum.repos.d 2,备份系统自带的yum源mv CentOS-Base.repo CentOS-Base.repo.bk下载163网易的yum源:wg ...
- Redis--Latest Windows Version
Redis Windows Ver https://github.com/MSOpenTech/redis/releases service-install.batredis-server.exe - ...
- Java基础之异常
1.异常的概念 异常:程序在运行时出现的不正常情况,也可以说是出现的问题: Java中的异常:出现的不正常的问题也是一类事物,这类事物有一些共性的东西,比如有名称,有产生的原因等,将这些共性的部分抽取 ...
- NSXMLParser自定义的一个xml解析工具
// // DenglXMLParser.h // #import <Foundation/Foundation.h> @interface DenglXMLParser : NSXMLP ...
- Hibernate 异常 集锦
异常1.Error parsing JNDI name [foo] 异常信息摘要: org.hibernate.engine.jndi.JndiException: Error parsing JND ...
- JPA 系列教程20-JPA2.0-@CollectionTable
@CollectionTable 指定集合表的详细信息,如果是JPA1.0必须再写一个Pojo类 ddl语句 CREATE TABLE `t_employee` ( `id` bigint(20) N ...