A Generic Test Platform for Automated Camera Module Validation
Sipinen, Ville (2018)
Sipinen, Ville
2018
Automaatiotekniikka
Teknisten tieteiden tiedekunta - Faculty of Engineering Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2018-02-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201801231142
https://urn.fi/URN:NBN:fi:tty-201801231142
Tiivistelmä
Nowadays every smart phone has at least one camera, sometimes even three or more. Even most of the very basic phones has a camera inbuild. This huge demand on camera module business has brought new challenges also to development since the number of versions has riced together with tighter schedules.
Camera module validation is a big part of the development phase as every development version needs to be validated carefully. When working with camera module suppliers, every round of validation contains a set of different tests including but not limiting to image quality, hardware and functional, electromagnetic compatibility and reliability tests. So far, the tests have been mostly developer driven and at most semi-manual including image capturing manually and reporting results manually. This kind of things consumes a lot of time and money as the engineer is tied to do simple manual tasks when one could be doing more valuable work. Not to mention the losses for the company if the product doesn’t reach the market in time because of the schedule wasn’t reached. Test automation brings heavily needed time savings but there hasn’t been good enough software that is capable to automate tests in various different categories mentioned above. The goal with the test automation is to also limit human made errors to minimum and to generate comparable results so that both the supplier and the customer can do the same tests and get the same results. This is important to be able to rely on suppliers’ test results.
This thesis introduces a way to create automated testing system on top of the existing test software. The idea is to add another layer of software on top of graphical user interface and introduce scripting framework with modules that enables easy development of new automated tests and generic reporting. General test cases are introduced in this thesis to get overall horizontal picture of the validation process.
The goal of the thesis was to deliver a very general platform to enable automated camera module validation in as many sectors as possible. The platform does give a lot of benefits in the validation and was taken successfully into use in various tests. The system is huge and there comes a lot of new feature requests all the time. There are also some ideas to further develop for example in report generation and script syntax checks. Nykyisin jokaisessa älypuhelimessa on vähintään yksi kamera, joissakin jopa kolme tai enemmän. Jopa kaikista yksinkertaisimmissa peruspuhelimissa on kamera usein sisäänrakennettuna. Suuri kysyntä on tuonut uusia haasteita kameramoduulien kehitykseen, sillä tiukempien aikataulujen lisäksi myös erilaisten versioiden määrä on kasvanut.
Kameramoduulien kehitysvaiheessa validointi on suuressa roolissa. Työskennellessä kameramoduulitoimittajien kanssa, jokainen validointikierros sisältää ainakin kuvanlaadun, laitteiston toiminnallisuuden, sähkömagneettisen yhteensopivuuden sekä luotettavuuden testauksen. Tähän asti testit ovat olleet pääasiassa kehittäjien tekemiä, usein korkeintaan puoliautomatisoituja, pitäen sisällään käsin tehdyn kuvankaappauksen sekä raportoinnin. Tällaiset käsin tehtävät työt vievät valtavasti aikaa sekä rahaa, kun kehittäjät ovat sidottuna yksinkertaisiin tehtäviin eivätkä ratkomassa isompia ongelmia. Puhumattakaan yritykselle tulevista tappioista, jos tuote ei ennätä markkinoille ajallaan esimerkiksi vaillinaisen testauksen vuoksi. Testiautomaatio tuo paljon kaivattua ajansäästöä, sillä aiemmin ei ole ollut saatavilla ohjelmistoa, mikä pystyisi automatisoimaan näin laajan kirjon eri tyyppisiä testejä. Testiautomaation tavoitteena on lisäksi vähentää käyttäjän tekemiä virheitä, sekä tuottaa vertailtavissa olevia tuloksia. Tällöin sekä toimittajat että tilaaja voivat tehdä samat testit omissa tiloissaan ja saada vertailukelpoiset tulokset. Tämä on ensiarvoisen tärkeää, jotta tilaaja pystyy luottamaan toimittajilta saatuihin testituloksiin.
Tämä diplomityö esittelee yhden ratkaisun testiautomaation kehittämiselle olemassa olevan testijärjestelmän päälle. Ajatus on tuoda olemassa olevan graafisen käyttöliittymän päälle yksi ohjelmakerros lisää, jolla ohjataan erillisten komentosarjojen avulla koko ohjelmistoa. Lisätty modulaarinen kerros mahdollistaa uusien automaattisten testien helpon kehityksen ja yleiskäyttöisen raportoinnin. Diplomityössä esitellään yleiset testitapaukset, jotta saadaan horisontaalinen käsitys siitä, millainen koko validointiprosessi on.
Diplomityön tavoitteena oli kehittää testialusta kameramoduulien validointiin, joka olisi käytettävissä mahdollisimman monessa eri tyyppisessä testissä. Testiohjelmisto otettiin käyttöön osana validointiprosessia onnistuneesti useassa eri testitapauksessa. Koko testijärjestelmä on hyvin laaja ja vaatimuksia uusille ominaisuuksille tulee jatkuvasti. Työn lopuksi käsitelläänkin hieman parannus- ja jatkokehitysehdotuksia liittyen muun muassa raporttien tuottamiseen ja komentosarjojen syntaksin tarkistukseen.
Camera module validation is a big part of the development phase as every development version needs to be validated carefully. When working with camera module suppliers, every round of validation contains a set of different tests including but not limiting to image quality, hardware and functional, electromagnetic compatibility and reliability tests. So far, the tests have been mostly developer driven and at most semi-manual including image capturing manually and reporting results manually. This kind of things consumes a lot of time and money as the engineer is tied to do simple manual tasks when one could be doing more valuable work. Not to mention the losses for the company if the product doesn’t reach the market in time because of the schedule wasn’t reached. Test automation brings heavily needed time savings but there hasn’t been good enough software that is capable to automate tests in various different categories mentioned above. The goal with the test automation is to also limit human made errors to minimum and to generate comparable results so that both the supplier and the customer can do the same tests and get the same results. This is important to be able to rely on suppliers’ test results.
This thesis introduces a way to create automated testing system on top of the existing test software. The idea is to add another layer of software on top of graphical user interface and introduce scripting framework with modules that enables easy development of new automated tests and generic reporting. General test cases are introduced in this thesis to get overall horizontal picture of the validation process.
The goal of the thesis was to deliver a very general platform to enable automated camera module validation in as many sectors as possible. The platform does give a lot of benefits in the validation and was taken successfully into use in various tests. The system is huge and there comes a lot of new feature requests all the time. There are also some ideas to further develop for example in report generation and script syntax checks.
Kameramoduulien kehitysvaiheessa validointi on suuressa roolissa. Työskennellessä kameramoduulitoimittajien kanssa, jokainen validointikierros sisältää ainakin kuvanlaadun, laitteiston toiminnallisuuden, sähkömagneettisen yhteensopivuuden sekä luotettavuuden testauksen. Tähän asti testit ovat olleet pääasiassa kehittäjien tekemiä, usein korkeintaan puoliautomatisoituja, pitäen sisällään käsin tehdyn kuvankaappauksen sekä raportoinnin. Tällaiset käsin tehtävät työt vievät valtavasti aikaa sekä rahaa, kun kehittäjät ovat sidottuna yksinkertaisiin tehtäviin eivätkä ratkomassa isompia ongelmia. Puhumattakaan yritykselle tulevista tappioista, jos tuote ei ennätä markkinoille ajallaan esimerkiksi vaillinaisen testauksen vuoksi. Testiautomaatio tuo paljon kaivattua ajansäästöä, sillä aiemmin ei ole ollut saatavilla ohjelmistoa, mikä pystyisi automatisoimaan näin laajan kirjon eri tyyppisiä testejä. Testiautomaation tavoitteena on lisäksi vähentää käyttäjän tekemiä virheitä, sekä tuottaa vertailtavissa olevia tuloksia. Tällöin sekä toimittajat että tilaaja voivat tehdä samat testit omissa tiloissaan ja saada vertailukelpoiset tulokset. Tämä on ensiarvoisen tärkeää, jotta tilaaja pystyy luottamaan toimittajilta saatuihin testituloksiin.
Tämä diplomityö esittelee yhden ratkaisun testiautomaation kehittämiselle olemassa olevan testijärjestelmän päälle. Ajatus on tuoda olemassa olevan graafisen käyttöliittymän päälle yksi ohjelmakerros lisää, jolla ohjataan erillisten komentosarjojen avulla koko ohjelmistoa. Lisätty modulaarinen kerros mahdollistaa uusien automaattisten testien helpon kehityksen ja yleiskäyttöisen raportoinnin. Diplomityössä esitellään yleiset testitapaukset, jotta saadaan horisontaalinen käsitys siitä, millainen koko validointiprosessi on.
Diplomityön tavoitteena oli kehittää testialusta kameramoduulien validointiin, joka olisi käytettävissä mahdollisimman monessa eri tyyppisessä testissä. Testiohjelmisto otettiin käyttöön osana validointiprosessia onnistuneesti useassa eri testitapauksessa. Koko testijärjestelmä on hyvin laaja ja vaatimuksia uusille ominaisuuksille tulee jatkuvasti. Työn lopuksi käsitelläänkin hieman parannus- ja jatkokehitysehdotuksia liittyen muun muassa raporttien tuottamiseen ja komentosarjojen syntaksin tarkistukseen.