510 likes | 719 Views
Mobile Industrialization. Presentation Société Générale 25-06-2014. 1 . Agenda. 1. Mobile industrialization. 2. Mobile Strategy. 3. Plan. 4 . Annexes. 3. 1. Mobile industrialisation. Best practices. Templates. Utilities. Soa. Mobile ALM. Tests. Mobile Tests. Unit Tests.
E N D
Mobile Industrialization Presentation Société Générale 25-06-2014 1
Agenda 1. Mobile industrialization 2. Mobile Strategy 3. Plan 4. Annexes 3
1. Mobile industrialisation Best practices Templates Utilities Soa Mobile ALM Tests Mobile Tests Unit Tests Responsive Design / Adaptive Design W3C Usability & Ergonomy 3
Best practices • Templates • Targets: iOS, Android, Windows • Cross-browsers: IE, Safari, Chrome, … • Get one template foreach type • Native • Android, iOS, Windows • Hybrid (HTML5) • Responsive, Phonegap • Mobile Website (HTML5) • Responsive AngularJS or Sencha 20
Best practices HYBRID APPS NATIVE APPS WEB APPS • Application deployed on any • platform (cross-platform) • Apps deployed on specific • platform (eco-system) Description • Internet website optimized for • Mobile devices • Cordova in front of HTML5, CSS3 • and Javascript engines • Android, iOS, Symbian, Blackberry, • Windows Phone, webOS… Main Standards • HTML combined with CSSand • Javascript • Rich user interface • Use full device functionality • App store or in-company distribution • Offline mode available Pros • Multi-platform • Regular web development languages • Shorter delivery lifecycle • No distribution approval process • (Faster go2market) • Cost – • No space required on mobile device • Multi-platform • Regular web development languages • Shorter delivery lifecycle • App store or in-company distribution • Use full device functionalities' • (Faster go2market) • Cost – as easy maintenance • Offline mode available • Less rich interface • User should create bookmark • No use of full device functionality • Limited offline mode • More sensitive than natives to bad • app technical design. • (Mitigated by using CSC-mSTC templates) • Approval process • Specific programming language • and skills • Longer delivery lifecycle • Approval process • Cost ++ Concerns • €€€ • Factor : 40% • e.g. 3 ios,android & windows costs 40K • €€€ • Factor : 50% • e.g. 3 ios,android & windows costs 50K • €€€ • Factor : 100% • e.g. 3 ios,android & Windows costs 100K Effort to reach 3 platforms 20
Best practices • Utilities • Create utility categories • UI • Transitions, effects... • Geolocation • Position watcher, GIS • Security • Soft/hardware security • Caching 20
Best practices HARDWARE TOKEN SMS SOFT TOKEN • User receives code via SMS • (Registered mobile phone number) Description • Application sticked on or embedded • in SIMcard generates the code • Application locally stored on the • smart device generates the code • Digipass Nano • Visual Digipass Product Example • Digipass App for Mobile • +++ • OTP and e-signatures • Hardware component less • vulnerable • +++ • OTP and e-signatures • Dual Channel • Delivery process through Telco • not secure • Exploit stolen phone Security • +++ • OTP and e-signatures • Installation procedure • No SMS communication needed • Installation procedure • Operator independant • SIM compatible device needed • Install manipulation> Convenience • Easy enrolment and use • Message delay and loss • Operator network coverage needed • €€€ • No distribution Cost • Help Desk Cost €€€ Ditribution logistic costs Help Desk Cost • €€€ • Cost per message Cost • +++ • Applicable to all Tablets (no Telco • opeator network needed) Coverage • +++ • Not applicable to all Tablets • (Telco operator network needed) • +++ • Not applicable to all Tablets • (Telco operator network needed) • +++ Maturity • +++ • +++ 20
Best practices • SOA • Reuse existing Web Services • Integration of multi-sources data • Reduction of development complexity • Put a optimization layer upfront • Compression • Data caching or services cache • Global security layerAuthentification • Scalibility of the platform 20
Best practices • Medium/Longterm Mgt • Max 1 technology • Per template / Lib • Per type of service (Gis, animations...) • Write a maintenance plan • « Spoc » foreach reusable • Setup a maintenance team • Plan budget for such activities 20
Mobile ALM • ALM • Setup all your projects in Mobile ALM • Centralize all automations • Unit tests • Functional Tests • Distribution • Versioning, archiving • Regression control, alerts • Promotion • Quality reports • Documentation • ... 20
Tests • MOBILE TESTS • Many types • Physical devices • Remote devices • Physical devices in the cloud • Emulators 20
Mobile Tests 20
Tests • CLOUD TESTING (Pros) • 24/7 Performance Monitoring on real (1500) devices • Early access to most recent devices. • Automated tests can be triggered from ALM engines • Access to most recent but older operating • system versions. • Web service API available • Easy to integrate to third party dashboard • (Jenkins, HP Quality Center...) • Tests scripts can be manually created and • generated by the system translating tests apps • interactions • Alert system • Can test all kind of mobile apps • Script once test everywhere (OCR-native-web-hybrid) 20
Tests • UNIT TESTS • For natives • SDK solutions • For hybrids and mobile websites • PhantomJS • Jasmine, QUnit 20
Tests • RESPONSIVE TESTS • Responsinator or equivalent • Testing in the cloud can support • responsive testing 20
Tests • W3C • Mobile validator • Style validation 20
Tests • Usability & Ergonomy • Usability based on 4 categories • Performance • How many interactions are necessary to achieve a task • Fiability • How many errors are commited by users per task • Memorization • What is memorized by users between to sessions • Emotional response • Is the user stressed, will He recommand the application? 20
Tests • Usability & Ergonomy • Ergonomy based on 6 categories • Guidance • Logical regroupment, Highlight key elements • Homogeinity • items location, labels, formats, interactions • Terminology • User oriented, accurante, small, icons, avoid methaphores • Workload • Visual hierarchy, avoid too many elts, a few text only • Error prevention • System must catch all errors, easy to understand • Design • Uniform, intuitive, efficient 20
2. Mobile app strategy Continuity Manage Apps Server side strategy Mobile side strategy MAM, MDM, MCM 3
Strategy • Continuity • Store all templates & app versions in Archive Server • Nexus or equivalent • In case of production crashes, deploy previous • version 9
Strategy • Manage Apps • Reserve budget part for unexpected situations • Mobile os upgrade • Impacting your solutions • Create a mobile force team • To follow & answer market store comments • Do not mix up system projects • A project for web • A project for SOA • A project for Mobile • Otherwise organisation often put • resources on web first • Integration of all part based on interfaces 9
Strategy • Server Side Strategy • Organizations are used to speed internet • What about EDGE or equivalent? Do not forget • users using slow connections • Reuse existing WS but put a compression • layer upfront to only return necessary data. • Response compression • Caching strategy (Queries...) • Minimize request/responses caching non • critical data on device self 9
Strategy • Mobile Side Strategy • Develop single source code (running many devices) • Hybrid or mobile website • Hybrid enjoys market visibility (Itunes...) • Mobile website is not exposed to critics but • has less access to mobile features • Even critics from competitors. (Hack) • Automate builds • Test, Test, tests and do not provide useless function • for mobile users 9
Strategy • Mobile Side Strategy • Select a single mobile tech for 2-3 coming years • When creating • Create Mobile First apps (Do not provide all use cases) • Wrap all 3td party libs (Minimize refactoring) • Builds • Phonegap, AngularJS – Sencha • Bower, Grunt, RequiresJS • When testing • Responsinator, Qunit, Jasmine, PhantomJS • Perfecto (Cloud) • User Experience • Icons, Colors, touchs, tooltips, message • Usability sessions • Ergonomy rules 9
Strategy • Mobile Side Strategy • Mobile First concept • Focus on Core Content and Functionality • Manage different screensizes (Media Queries, Less, Sass) • Embrace new capabilities (Geolocation, Connections...) • Progressive enhancement or graceful degradation (HTML 5-4 • for instance) 9
Strategy • MAM, MDM, MCM • Go for one solution • Integrate SDK provided (Airwatch, MobileIron, Good) • Better & faster integration • Easier to secure • Wrap all MDM, MCM, MAM SDK method call in SG API • To avoid massive code impact in case of solution evolution • Less interesting if developing mobile websites only 9
3. Plan Solution all in One (MSTC) Overview On premise In the cloud Presentation of 1 module (1/~200) Proven Video Modules 3
MSTC • MSTC • MSTC is a Dev and Exec modular platform used • by thousands CSC customers • Faster delivery (+65%), cheaper (-75%) • Mobile testing costs less with CSC plugins • Hundreds of libs • Voice recognition-translation (biometrics) • Mobile glasses, GIS, Auth., Multilanguage... • Mainly open source based 9
Mobile ALM Cloud Mobile Testing (6) CSC-mSTC CSC-STC ALM 8
MSTC • On premise • Pieces of MSTC can be integrated customer side • Integration layers to create bridges • In 2013, a big player in Finance sector and public • institutions request CSC for on premise MSTC • solution 9
MSTC • In the cloud • IaaS agnostic • EC2 • CSC Cloud • ... • Elastic • Safe • Setup in less than 5 minutes • Monitoring • ... 9
MSTC Presentation of 1 module (1/~200) 1. En glissant les composants proposés ou ceux que vous créez 3. mSTC grâce à un puissant outil de OCR 4. Trouve votre cible 5. Chaque étape peut être testée en mode interaction 2. dans le scénario 24
MSTC Presentation of 1 module (1/~200) 1. Vous pouvez aussi opter pour une génération automatique 4. Au même titre que la création manuelle, ces scénarios sont exécutables depuis le moteur ALM du mSTC 2. Cette approche permet à vos testeurs de créer le scénario en interagissant directement avec l’app 3. Ces interactions sont reprises dans le scénario
MSTC Presentation of 1 module (1/~200)
MSTC Presentation of 1 module (1/~200)
MSTC Presentation of 1 module (1/~200) [perfecto] user=reg.is@cirb.irisnet.be password=XXXXXX scripts=scripts-list upload=upload-parameters [scripts-list] script1=script-config1 script2=script-config2 [script-config1] scriptPath=PRIVATE:fixmystreetndroid\V0.9rowse_and_return.xml scriptParam=script-scriptparam1 deviceParam=script-deviceparam1 [script-scriptparam1] DUT=HT17WVJ00087) [script-deviceparam1] os=Apple-4154 [script-config2] scriptPath=PRIVATE:fixmystreetndroid\V0.9rowse_and_return3.xml scriptParam=script-scriptparam2 deviceParam=script-deviceparam2 [script-scriptparam2] DUT=HT17WVJ00087 [script-deviceparam2] os=Android osVersion=4.*.* admin=4.*.1 [upload-parameters] from=build\Release-iphoneosixmystreet-Release-0.9.ipa to=PRIVATE:apps\fixmystreet\ios\0.9\FixMyStreet.ipa Intégrer l’ensemble de vos tests mobiles grâce à un plugin ALM
MSTC Presentation of 1 module (1/~200) 2013-03-23 12:40:55 INFO ++++++++++++++++++++++++++++++++++++++++ 2013-03-23 12:40:55 INFO +++ Script Metadata +++ 2013-03-23 12:40:55 INFO ++++++++++++++++++++++++++++++++++++++++ 2013-03-23 12:40:55 INFO testArguments: Arguments have been detected. 2013-03-23 12:40:55 INFO 2013-03-23 12:40:55 INFO ++++++++++++++++++++++++++++++++++++++++ 2013-03-23 12:40:56 INFO +++ Validating given arguments +++ 2013-03-23 12:40:56 INFO ++++++++++++++++++++++++++++++++++++++++ 2013-03-23 12:40:56 INFO processAllArguments: Processing given arguments: -SDUT=HT17WVJ00087@PRIVATE:fixmystreet\andro... 2013-03-23 12:40:56 INFO processAllArguments: Valid argument found: -SDUT=HT17WVJ00087@PRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO processArgument: Processing argument: -SDUT=HT17WVJ00087@PRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO processArgument: Script argument found: -SDUT=HT17WVJ00087 for script PRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO processArgument: processArgument adds argument DUT with value HT17WVJ00087 for script PRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO processAllArguments: Valid argument found: -SAPP_PATH=PRIVATE:apps\fixmystreet\android\v1.0\FixMyStreet.apk@PRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO processArgument: Processing argument: -SAPP_PATH=PRIVATE:apps\fixmystreet\android\v1.0\FixMyStreet.apk@PRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO processArgument: Script argument found: -SAPP_PATH=PRIVATE:apps\fixmystreet\android\v1.0\FixMyStreet.apk for script PRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO processArgument: processArgument adds argument APP_PATH with value PRIVATE:apps\fixmystreet\android\v1.0\FixMyStreet.apk for script PRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO 2013-03-23 12:40:56 INFO ++++++++++++++++++++++++++++++++++++++++++++++++++ 2013-03-23 12:40:56 INFO +++ Launching script in perfecto cloud serveur +++ 2013-03-23 12:40:56 INFO ++++++++++++++++++++++++++++++++++++++++++++++++++ 2013-03-23 12:40:56 INFO executeTestScripts: DUT directly provided for script PRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO exec_report: executing script_keyPRIVATE:fixmystreet\android\V1.0\install_run_and_browse.xml 2013-03-23 12:40:56 INFO exec_report: Append missing param. prefix to parameter APP_PATH 2013-03-23 12:40:56 INFO exec_report: Correct prefix detected for argument param.DUT 2013-03-23 12:40:56 INFO {'param.APP_PATH': 'PRIVATE:apps\\fixmystreet\\android\\v1.0\\FixMyStreet.apk', 'param.DUT': 'HT17WVJ00087'} 2013-03-23 12:40:56 INFO load_perfecto_json: prepares loading json response 2013-03-23 12:40:56 INFO load_perfecto_content: accessing url https://www.csc-mstc.com/services/executions?scriptKey=... 2013-03-23 12:40:57 INFO load_perfecto_json: response successfully read 2013-03-23 12:40:57 INFO load_perfecto_json: response returns no error 2013-03-23 12:40:57 INFO executeTestScripts: waiting for perfecto 2013-03-23 12:40:57 INFO check_report_status: prepare to check all reports status 2013-03-23 12:40:57 INFO check_report_status: execution_id reg.is@cirb.irisnet.be_install_run_and_browse_12-05-23_10_42_47_624 2013-03-23 12:40:57 INFO load_perfecto_json: prepares loading json response 2013-03-23 12:40:57 INFO load_perfecto_content: accessing url https://www.csc-mstc.com/services/executions/reg.is@cirb.irisnet.be_install_run_and_browse_12-05-23_10_42_47_624?operation=status&password=yuWfeg&user=reg.is%40cirb.irisnet.be 2013-03-23 12:40:57 INFO load_perfecto_json: response successfully read 2013-03-23 12:40:57 INFO load_perfecto_json: response returns no error 2013-03-23 12:40:57 WARNING report_setthread\processing\2013-03-23T12.40.56.053000\exec not completed 2013-03-23 12:41:07 INFO load_perfecto_content: accessing url https://www.csc-mstc.com/services/executions/reg.is@cirb.irisnet.be_install_run_and_browse_12- Intégration possible du monitoring CSC-mSTCavec d’autres outils
MSTC 1. En toute transparence, les résultats de vos tests mobiles sont intégrés à la solution ALM Presentation of 1 module (1/~200) 2. En cas d’échec de l’un de vos test, une explication ainsi qu’un enregistrement vidéo du scénario sont mis à votre disposition
MSTC • PROVEN • ICT Awards of Excellence (New Orleans 2013-2014) • Won (127 candidates – 5 winners) • President’s awards EMEA (2012-2013) • Won (~10 countries candidates) • Customer testimonials 9
MSTC VIDEO 9
MSTC More than 200 modules 34
Annexes • Annexes • MSTC usage • Web • Mobile 26
Annexes 27
Annexes 28
Annexes 29
Annexes 30
Annexes APPLICATION MOBILE 31
Annexes 32
Annexes 33