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 ...
随机推荐
- Influxdb原理详解
本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 15 部分: InfluxDB学习之InfluxDB的安装和简介 InfluxDB学习之InfluxDB的基本概念 Infl ...
- rabbitMQ 安装 could not set correct interactive mode
安装rabbit mq 提示下面错误 其他信息: 执行错误:C:\Program Files\erl6.0\erts-6.0\bin\erlsrv: Warning, could not set co ...
- CMD杀进程 例如:杀8080端口的进程
首先:端口被占用的报错形式如下 说明8080端口被占用 解决方案一:查找pid,根据pid去任务管理器的进程中结束占用8080端口号的进程 1.首先按快捷键windows+R,在运行框里输入cmd,如 ...
- [coding horror] 1 - sum 2
sum 2 描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 对应每个测试案例,输出两个数,小的先输出. codi ...
- 多微博账号同时发微博的插件--fawave
我们每个人应该都不止一个博客或者微博,尤其是明星.为了考虑与新闻社区媒体的关系,必须在每个平台都要入住一下才好,还有一方面也是对粉丝的一种关爱吧.反正里面关系很复杂.有没有一个工具可以讲微博的内容同步 ...
- Python网络编程学习_Day10
一.进程与线程 1.区别 进程:一个程序要运行时所需要的所有资源的集合,进程是资源的集合. 一个进程至少需要一个线程,这个线程称为主线程 一个进程里面可以有多个线程 两个进程之间的数据是完全独立,不能 ...
- 我理解的session和cookie
tomcat管理session 理解tomcat是如何生成session的. 当用户请求到web资源有request.getSession()这段代码的时候,request首先会对请求的url判读是否 ...
- laravel 安装 Laravel 扩展包
问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害. 因为 comp ...
- c# 强制退出程序
引用:http://blog.csdn.net/tanhua103292/article/details/4283203 1.强制退出WinForm程序之Application.Exit和Enviro ...
- C#Winform实现自动更新
服务端: [WebMethod] public string GetNewService(string version) { //通过版本号进行比较 if (version == "v1.0 ...