Experience of black-box testing on set-top-boxes/IP-connected devices, games consoles and tablets

http://www.tested.com/tech/set-top-boxes/

Streaming media,是指將一連串的媒體數據壓縮後,經過網路分段傳送數據,在網路上實時傳輸影音,以供觀賞的一種技術與過程。

Amazon Instant Video (formerly Amazon Video On Demand and LOVEFiLM Instant) is an Internet video on demand service by Amazon in the United States, United Kingdom, Germany and Japan. It offers television shows and films for rental and purchase, as well as free to customers with an Amazon Prime subscription.主要透過 PC、平板電腦、手機這樣的終端,獲取點播或者下載觀看服務。

Amazon Fire TV is a digital media player and microconsole developed by Amazon.com.It is a small network appliance and entertainment device designed to stream digital audio/video content to a high-definition television. The device also allows users to play video games with the included remote, via a mobile app, or with an optionalgame controller. The device features 2 GB of RAM, MIMO dual-band Wi-Fi, and a Bluetooth remote control with a microphone for voice search. It supports 1080p streaming and Dolby Digital Plus 5.1 surround sound. Unveiled on April 2, 2014, the Amazon Fire TV was made available for purchase the same day for US$99.

Functions: Play movie(buffering time, clear), Voice search, Play game(game controller), Switch between TV and Kindle Fire, Connect to TV and wifi easily, Remote control(buttons), Play music(background, also do other things), Photos(available within seconds after you upload it to cloud drive), Profiles for kids,

GUI testing: Search/Home/Movie/Photos/Apps...Layout, Navigation, Font/Color/Size,

Compatibility: Compatible with high-definition TVs with HDMI capable of 1080p or 720p at 60/50Hz, including popular HDCP-compatible models from these manufacturers: Hitachi, JVC, LG, Mitsubishi, NEC, Panasonic, Philips, Pioneer, Samsung, Sharp, Sony, Toshiba, Vizio, Westinghouse. Dual-band, dual-antenna Wi-Fi (MIMO) for faster streaming and fewer dropped connections than standard Wi-Fi. Supports 802.11a/b/g/n Wi-Fi networks.

Contents format supported: Video: H.263, H.264, MPEG4-SP, VC1
Audio: AAC, AC-3, E-AC-3, HE-A, PCM, MP3
Photo: JPG, PNG

Battery.

Set-box test automation:

Stb-tester issues commands to the device under test in the same way a real user does (infrared signals to a set-top box, or taps & swipes on a mobile device, etc).

press("MENU")
wait_for_match()

Example test script

Stb-tester then checks the behaviour of the device under test by analysing the device’s video output: checking that a particular user interface element appears or disappears, that video plays or pauses, or using optical character recognition to read on-screen text.

The reports contain video recordings of each test run. You can configure stb-tester to gather logs from the device-under-test (for example if you have serial access) or other logs related to the test (for example network traces); these logs appear in the report under the relevant test run. You can also configure the report to display any particular data; for example if you’re soak-testing a channel-change test, you might want the duration of the channel-change to appear as a column in the report, so that you can sort by that column and instantly find the test results worth analysing.

http://www.tcs.com/SiteCollectionDocuments/White%20Papers/tcs_telecom_whitepaper_STBTESTING.pdf

Thesis:

I am solid in video compression algorithms and H.264 standard. H.264 standard: macroblocks->Luminance/Color, Prediction mode->Inter/Intra, Residual block is transformed(Integer Discrete cosine transform, convert residual from spatial domain to frequency domain), quantized(in-significant high-freq data becomes zeros), and entropy coded(zigzag scanning). Decompression: Entropy decoder first decodes the compressed bitstream to produce quantized coefficients as well as header information, then dequantization, inverse transformed, add to the prediction signal to form the restored macroblock.

My first research work was on improving the interpolation filter for sub-pixels when performing motion estimation to reduce redundancy between transmitted frames and current frame. In H.264, fixed interpolation filter is adopted, while Adaptive IF is estimated for every image. But AIF takes the whole image into account to calculate wiener filter, my proposal is to only include those high-frequency area to generate filter coeff. We use Bjontegaard Delta bit rate and Bjontegaard Delta Peak signal to noise ratio for measurement.

My second research topic was on improving combined inter-intra prediction by tuning weighted coefficients according to the image characteristics.

  • An entropy coding design including:

    • Context-adaptive binary arithmetic coding (CABAC), an algorithm to losslessly compress syntax elements in the video stream knowing the probabilities of syntax elements in a given context. CABAC compresses data more efficiently than CAVLC but requires considerably more processing to decode.
    • Context-adaptive variable-length coding (CAVLC), which is a lower-complexity alternative to CABAC for the coding of quantized transform coefficient values. Although lower complexity than CABAC, CAVLC is more elaborate and more efficient than the methods typically used to code coefficients in other prior designs.
    • A common simple and highly structured variable length coding (VLC) technique for many of the syntax elements not coded by CABAC or CAVLC, referred to asExponential-Golomb coding (or Exp-Golomb).
  • Network Abstraction Layer (NAL) definition allowing the same video syntax to be used in many network environments. One very fundamental design concept of H.264 is to generate self-contained packets, to remove the header duplication as in MPEG-4's Header Extension Code (HEC).[32] This was achieved by decoupling information relevant to more than one slice from the media stream. The combination of the higher-level parameters is called a parameter set.[32] The H.264 specification includes two types of parameter sets: Sequence Parameter Set (SPS) and Picture Parameter Set (PPS). An active sequence parameter set remains unchanged throughout a coded video sequence, and an active picture parameter set remains unchanged within a coded picture. The sequence and picture parameter set structures contain information such as picture size, optional coding modes employed, and macroblock to slice group map.[32]

Test scenarios we write:

The automated testing framework is using a technology called fluent interface, which enables script writers to write test cases like using natural language. For example,

OrderRef ref = trader.withTradingApplication().createNewOrderWith().

                        .symbol("xxx").side(BUY).quantity(100)..send();

A fluent interface is normally implemented by using method cascading (concretely method chaining) to relay the instruction context of a subsequent call (but a fluent interface entails more than just method chaining).

In us-galaxy, tests are organized into different packages according to the features. Packages like: auto Rule, eod Rule, expunge Rule, manual adv, manual ioi, integration b-g, integration p-g. In autoRule package, test rules on Country, CovUser, Desk, Region....

Testing trading application: 

Environment: QA env, SIT2 env for f2b testing, then UAT env.

Functional testing: for example, in the release there is some new feature ErrorMove added, then you need to perform the testing steps to verify if it is the expected behavior. Test steps: download the latest version deployed in QA env, create order, execute order, move the executions to error book, check if the order's execQty is less, and if error book has got the qty.

also, if the release has some bug fix, we need to test if the bug is fixed and also perform the regression testing, mainly through automation.

Status report: green sign-off.

Agile project development we use:

We have bi-weekly sprint meeting, which includes Review, Planning, Retrospective. Review part is reviewing every body's work during last sprint, if task is delivered on time, and if not, what the blocking reason is. Planning is according to every body's own velocity, include the tasks into sprint by considering the priority, severity of tasks in the backlog.  Retrospective: collect everybody's thought on the good, bad part of the testing process, what actions can be done to improve current situation, who is responsible for the action. Still, in the middle of sprint, some tasks may be added into the sprint if they are important or the person has time left.

We also have daily scrum meeting, in which every one states the work he has done yesterday and his planning for today.

The team I am currently working in:

Automated testing team: with both QA and automated testing framework developers. QA does both manual and automated testing. And developers build and support the testing framework for QA to use when writing and executing automated test scripts. Our team automates all the in-house applications at the cash equities side, from front-office trading applications, middle-office booking/risk management, to back-office settlement applications. The sprint is also divided according to the function area.

From the beginning of automating testing an application, I first discuss with QA on the automatable items and collect them in a work log. Then by prioritizing the tasks, we do some initial planning, like delivering date for them.  It usually takes developers several weeks to build the framework from scratch and provide the first feature to be tested. Then we start regular sprint planning, once a new feature is delivered, developer will provide script example and instruct QA how to use the framework. The planning for the next sprint not only includes new featues, but also bugs found in the testing framework. Therefore, in the following sprint, QA will also have task to verify the bug in the harness is not there anymore.

Self intro:

I will start with my educational background. I was studying on Communications Engineering in Tianjin University, so I learned a lot of hardware-related courses like low/high frequency circuit analysis, wireless communication, assembly language, digital circuit design, etc. I was honored the Outstanding Graduate that year with a major rank 2nd among 120 students.

Then I accepted the full research scholarship offer from Hong Kong University of Science of Technology. During my two and a half year master study in UST, I was mainly doing research on Video compression algorithms design. I obtained quite a lot of knowledge on video and image processing and current video coding standards: published three papers on top international academic conferences as the first author.

After graduation, I spent four months working in a local technology firm doing C# programming, then I started summer internship program in Equities Single-Stock OMS team in Barcaps Capital. When the three-month internship ended, I was the only intern in Hong Kong who was retained as a permanent employee.

In HK I was part of Equities QA team and I was responsible for developing automated testing framework for APAC OMS using programming language core Java. I was cooperating with script writers and OMS developers, and our framework finally covered almost 80% percent of OMS testing. In September last year, I joined the Automated testing team in Prague office, which is the technology center of Barcap in Europe. I got the chance to develop testing framework for more systems, like Global Program trading system and Interest-of-order publishing system.

And since I would like to move to another place or back to Hong Kong now, I have resigned from Barcap and am looking for job in testing area.

Reason to change: 

Personal reason: I would like to move to another city or back to HK, I prefer fast-paced and more international environment.

This quality assurance engineer position is in the video-related team. I was majoring in Communcation Engineer in my undergraduate study, and had been doing research on video compression for three years. So I have gained a lot of knowledge on the hardware design, video processing and compression algorithms. Then my three-year working experience has trained me on software engineering side, I am solid in core Java programming and also familiar with automated testing methodologies. So I think I may make use of both my hardware and software knowledge in this position.

Also, amazon is the largest Internet based company and I would like to work with the most intelligent people there. I am expecting the highly cooperative, efficient working environment. I would like to develop my long-term career there.

I think my personalities fit into testing job better. I am extremely detail oriented, and hardworking. I like communicating with others. I am good at solving automated testing issues. My previous experience as a developer would be my advantage comparing to other testers, I am able to dig deep into the problem and handle technical issues properly.

a* products的更多相关文章

  1. Building third-party products of OpenCascade

    Building third-party products of OpenCascade eryar@163.com Available distributives of third-party pr ...

  2. SharePoint Configuration Wizard - Unable to upgrade SharePoint Products and Technologies because an upgrade is already in progress

    故障描述 当要运行SharePonit Products and Technologies Configuration Wizard的时候,出现了如下图所示的错误提示. 错误信息为: Unable t ...

  3. Registry values for ProductID and LocaleID for AutoCAD and the vertical products

    原文地址:http://adndevblog.typepad.com/autocad/2013/08/registry-values-for-productid-and-localeid-for-au ...

  4. magento添加多个产品到购物车(Add multiple products to cart )

    Step  1app\design\frontend\base\default\template\catalog\product\list.phtml<?php    $_productColl ...

  5. FVDI Commander products be replaced SVDI tools,really?

    You may have heard that some FVDI Commander products are being replaced by the new SVDI tools. This ...

  6. 读书笔记-《Training Products of Experts by Minimizing Contrastive Divergence》

    Training Products of Experts by Minimizing Contrastive Divergence(以下简称 PoE)是 DBN 和深度学习理论的 肇始之篇,最近在爬梳 ...

  7. /users/products.:format 这种写法的其对应解析字符写法

    “products.:format" 这种写法可以有对应的下面两种路由形式 /products.json /products.xml "products.:format?" ...

  8. Amazon.com: NEW VI AND VIM EDITOR KEYBOARD STICKER: Office Products

    Amazon.com: NEW VI AND VIM EDITOR KEYBOARD STICKER: Office Products NEW VI AND VIM EDITOR KEYBOARD S ...

  9. Popular Products

    Popular Products 描述 Given N lists of customer purchase, your task is to find the products that appea ...

  10. 生成订单:三个表(Products,Orders,OrderItem)

    1.有三个表(Product上,Orders,OrderItem) 分别创建对应的三个实体类 OrderItem中有外键Order_id 参考Orders中的id :Product_id参考Produ ...

随机推荐

  1. 网页中多媒体对像标记<OBJECT>和<EMBED>

    在网页中常用object和embed标记插入的多媒体对象,比如FLASH,视频等. 用一个快播例子说明下这两个标记的使用和区别: <object classid="clsid:F3D0 ...

  2. iOS-申请邓白氏编码的超详细流程介绍

    导读 11.22号要申请苹果公司开发者账号,所以当天下午申请了邓白氏编码,昨天邓白氏编码下来了,这里就做一下记录,分享给大家. 概览 11.22提交的邓白氏编码申请,11.28(礼拜一)华夏邓白氏发来 ...

  3. [原创]C#引用C++编译的dll

    一.DllImportAttribute 1.属性介绍 using System; using System.Reflection; using System.Security; namespace ...

  4. 自己不懂的SQL语句用法

    left  join:是SQL语言中的查询类型,即连接查询.它的全称为左外连接,是外连接的一种. 连接通常可以在select语句的from子句或where子句中建立,其语法格式为: select  c ...

  5. C#关于winforms窗体大小、边框、移动、动画等属性

    1.窗体的边框设置为无: 2.把窗体高度调整为25,发现跑的时候总在40左右,这时需要改改属性, 把MinimumSize(0, 0)改成不为0的,最好改成和自己想要一样的大小, 最大高宽也应该这么调 ...

  6. Python 之路 Day5 - 常用模块学习

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

  7. 推荐一个实用的css工具

    后台程序员整天在和数据打交道,天天的活就是抱着mysql抠数据,如果让他去写网站的样式,就让人感觉力不从心,所以推荐一个twitter的团队开发的东西,几乎囊括了网站所需的样式,http://www. ...

  8. [导读]Learning from Imbalanced Classes

    原文:Learning from Imbalanced Classes 数据不平衡是一个非常经典的问题,数据挖掘.计算广告.NLP等工作经常遇到.该文总结了可能有效的方法,值得参考: Do nothi ...

  9. Single-page app(SPA)

    有哪些值得推荐的一页式网站(Single-page app)? http://pro.weltrade.com/en/ 最近开到一下国外网站,一页到底,感觉很高大上,到底是怎么做出来的呢?技术要点是什 ...

  10. 同上 遍历obj的值 来定义当前的后台数据在页面的定位

    function getlistRoom(obj) { //obj就是通过ajax传过来的 data for (var i = 0; i < obj.length; i++) {//遍历数据 v ...