SlideShare a Scribd company logo
1 of 18
KONGSBERG PROPRIETARY: This document contains KONGSBERG information which is proprietary and confidential. Any disclosure, copying, distribution or
use is prohibited if not otherwise explicitly agreed with KONGSBERG in writing. Any authorised reproduction in whole or in pa rt, must include this legend.
© 2020 KONGSBERG – All rights reserved.
Elements of Quality
Engineering in Remote
IIoT System
09/12/2023
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication 2
Your Speakers
Software Test Engineer – L1
Kongsberg Digital
Software Test Engineer – L1
Kongsberg Digital
https://www.linkedin.com/in/kirti-satapathy/ https://www.linkedin.com/in/nandini-krishna-699026118/
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication
 QA involves the use of testing tools and techniques to pinpoint
defects within a refined software product, and the tools the QA
specialists use often depend on the products they're assessing.
 Quality assurance process uses advanced testing techniques to
detect and remediate as many defects as possible to ensure
stable, usable product that functions according to
specifications.
 Quality Assurance is about testing
(Functional/Automation/Performance/…) the quality of the
product or a feature and making sure its defect free & stable
for end user to use smoothly.
3
 QE involves the use of different tools and techniques to
prevent defects and enhance the software development
process throughout the SDLC.
 Quality engineering spans the entire product lifecycle, which
begins long before the development lifecycle, starting from
focus on testable requirements before implementation.
 Quality Engineering is about engineering/designing processes,
solutions using various testing tools, and sometimes using
unorthodox or unique methods to ensure the product we are
delivering to the end user is the best one.
Quality Assurance vs Quality Engineering
Quality Assurance is a part of Quality Engineering
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication
Company Limited
Industrial IoT (IIoT)
 Industrial IoT (IIoT) is an extension and use of the IoT in industrial sectors and applications.
 With a strong focus on machine-to-machine (M2M) communication, big data, and machine
learning, the IIoT enables industries and enterprises to have better efficiency and reliability in
their operations.
 IIoT is an intersection of information technology (IT) and operational technology (OT).
 Its commonly used in heavy asset industries like Marine, Green Energy, Advanced Robotics,
Medical devices etc.
4
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication 5
Scenario-1
Challenge : The unstable and low bandwidth network (satellite internet)
Production Issues
• Memory leak
• Thread lock
• Thread pool starvation
• Image not found
• File not found
• Pods stuck in creating state
• Pods restarting
contineously
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication 6
Network Metrics
Json List
Throttler Driver
N/w Perf. Logger Ping Test
Ping Test Server
Cloud
Token Buckets
Network Interfaces : eth0 / ifb0
Tc / qdisc / netem
Shaper Policer
Throttler Core
Solution : Live Network Emulation in testing environment
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication 7
Scenario-2
Challenge : How the Automation script, running on Windows machine, will interact with the
Linux machine?
Automation Script running here for UI
actions in Browser
Corresponding backend process occurs
here
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication 8
Throttler Core
Solution : Use plink ssh connection to connect to the linux machine
programmatically from automation script.
Steps:
• Create .bat file with plink command combined with required linux command.
• Syntax : plink -batch -t -ssh <linux_username>@<linux_ip> -pw <linux_password> <linux_command>
• Run .bat File from script : execSync(`cmd /c start "" cmd /c <.bat filename>`);
WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 9
Challenge : How to transfer files between linux and windows machine?
Solution : Use folder mounting between windows & linux machines.
• Mount a shared folder from windows machine to a folder in linux machine.
Command : sudo mount.cifs <windows_shared_folder_path> <linux_folder_path> -o user=<windows_username>,password=<windows_password>
• To verify if the folder is successfully mounted use below command.
Command : sudo findmnt <linux_folder_path>
• Now we can use the shared folder on windows to transfer/copy a file from windows to linux machine
• Similarly, we can use the mounted folder on linux to transfer/copy a file from linux to windows machine
Scenario-3
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication 10
Scenario-4
Challenge : How to capture & verify contents of linux command output?
Solution : Capture & store the output of linux command in a file (.txt/.json/.csv) on windows machine to verify
the contents.
Steps :
• Syntax : plink -batch -t -ssh <linux_username>@<linux_ip> -pw <linux_password> <linux_command> >> <windows_file_path>
• Then verify the contents of the windows file.
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication 11
• To verify the docker installation status and container status.
Command : sudo docker ps
• To verify cafnet status/details.
Command : sudo docker inspect cafnet
• To run a query inside influxDB, installed as a container.
Command : sudo docker exec InfluxDB influx -execute 'SELECT * FROM <retention_policy>.<table_name>' -database=<database_name>
Docker Container & InfluxDB automation
WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 12
KONGSBERG PROPRIETARY - See Statement of Proprietary information
WORLD CLASS – Through people, technology and dedication 13
Kubernates Validation Automation
• To verify the pods status.
Command : kubectl get pods –A
• To enter into a pod.
Command : kubectl exec -it <podName> -n <namespaceName> -- sh
• To fetch contents from a pod.
Command : kubectl exec -it <podName> -n <namespaceName> -- sh -c "cat <file_path>“
• To see the logs for a pod.
Command : kubectl logs <podName> -n <namespaceName>
• To see the logs for a container inside a pod
Command : kubectl logs <podName> -n <namespaceName> -c <containerName>
• For port forwarding of a pod.
Command : kubectl port-forward <podName> <local_machine_port>:<pod_port>
• To get metrics for a given pod and its containers.
Command : kubectl top pod <podName> --containers
WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 14
WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 15
High Frequency Real-Time Data Analysis Automation
WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 16
High Frequency Real-Time Data Analysis Automation
• Solution : Use Mutation Observer function to capture live data.
• Mutation Observer : The MutationObserver interface provides the ability to watch for changes being made to the DOM tree.
• Source : https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 17
Log Analytics
OpenSearch Dashboard
• OpenSearch is a distributed, community-driven, Apache 2.0-licensed, open-source search and analytics suite used for real-time application
monitoring, log analytics, and website search.
• It makes large log file analysis easier.
KONGSBERG PROPRIETARY: This document contains KONGSBERG information which is proprietary and confidential. Any disclosure, copying, distribution or
use is prohibited if not otherwise explicitly agreed with KONGSBERG in writing. Any authorised reproduction in whole or in pa rt, must include this legend.
© 2020 KONGSBERG – All rights reserved.

More Related Content

Similar to #Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Quality Engineering in Remote IoT System" at #ATAGTR2023.

Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
PranavPatil822557
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
Freddy Buenaño
 

Similar to #Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Quality Engineering in Remote IoT System" at #ATAGTR2023. (20)

Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
Docker Platform and Ecosystem
Docker Platform and EcosystemDocker Platform and Ecosystem
Docker Platform and Ecosystem
 
Pursuing evasive custom command & control - GuideM
Pursuing evasive custom command & control - GuideMPursuing evasive custom command & control - GuideM
Pursuing evasive custom command & control - GuideM
 
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - OWL Tech &...
 
Here Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New WorldHere Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New World
 
20160221 va interconnect_pub
20160221 va interconnect_pub20160221 va interconnect_pub
20160221 va interconnect_pub
 
Dockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx CasablancaDockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx Casablanca
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
 
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
 
Dockerizing Aurea - Docker Con EU 2017
Dockerizing Aurea - Docker Con EU 2017Dockerizing Aurea - Docker Con EU 2017
Dockerizing Aurea - Docker Con EU 2017
 
Machine learning in cybersecutiry
Machine learning in cybersecutiryMachine learning in cybersecutiry
Machine learning in cybersecutiry
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
 
Kubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxKubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptx
 
Become a Cloud Security Ninja
Become a Cloud Security NinjaBecome a Cloud Security Ninja
Become a Cloud Security Ninja
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
 
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
 

More from Agile Testing Alliance

More from Agile Testing Alliance (20)

#Interactive Session by Anindita Rath and Mahathee Dandibhotla, "From Good to...
#Interactive Session by Anindita Rath and Mahathee Dandibhotla, "From Good to...#Interactive Session by Anindita Rath and Mahathee Dandibhotla, "From Good to...
#Interactive Session by Anindita Rath and Mahathee Dandibhotla, "From Good to...
 
#Interactive Session by Ajay Balamurugadas, "Where Are The Real Testers In T...
#Interactive Session by  Ajay Balamurugadas, "Where Are The Real Testers In T...#Interactive Session by  Ajay Balamurugadas, "Where Are The Real Testers In T...
#Interactive Session by Ajay Balamurugadas, "Where Are The Real Testers In T...
 
#Interactive Session by Jishnu Nambiar and Mayur Ovhal, "Monitoring Web Per...
#Interactive Session by  Jishnu Nambiar and  Mayur Ovhal, "Monitoring Web Per...#Interactive Session by  Jishnu Nambiar and  Mayur Ovhal, "Monitoring Web Per...
#Interactive Session by Jishnu Nambiar and Mayur Ovhal, "Monitoring Web Per...
 
#Interactive Session by Pradipta Biswas and Sucheta Saurabh Chitale, "Navigat...
#Interactive Session by Pradipta Biswas and Sucheta Saurabh Chitale, "Navigat...#Interactive Session by Pradipta Biswas and Sucheta Saurabh Chitale, "Navigat...
#Interactive Session by Pradipta Biswas and Sucheta Saurabh Chitale, "Navigat...
 
#Interactive Session by Apoorva Ram, "The Art of Storytelling for Testers" at...
#Interactive Session by Apoorva Ram, "The Art of Storytelling for Testers" at...#Interactive Session by Apoorva Ram, "The Art of Storytelling for Testers" at...
#Interactive Session by Apoorva Ram, "The Art of Storytelling for Testers" at...
 
#Interactive Session by Nikhil Jain, "Catch All Mail With Graph" at #ATAGTR2023.
#Interactive Session by Nikhil Jain, "Catch All Mail With Graph" at #ATAGTR2023.#Interactive Session by Nikhil Jain, "Catch All Mail With Graph" at #ATAGTR2023.
#Interactive Session by Nikhil Jain, "Catch All Mail With Graph" at #ATAGTR2023.
 
#Interactive Session by Ashok Kumar S, "Test Data the key to robust test cove...
#Interactive Session by Ashok Kumar S, "Test Data the key to robust test cove...#Interactive Session by Ashok Kumar S, "Test Data the key to robust test cove...
#Interactive Session by Ashok Kumar S, "Test Data the key to robust test cove...
 
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
 
#Interactive Session by Ashwini Lalit, RRR of Test Automation Maintenance" at...
#Interactive Session by Ashwini Lalit, RRR of Test Automation Maintenance" at...#Interactive Session by Ashwini Lalit, RRR of Test Automation Maintenance" at...
#Interactive Session by Ashwini Lalit, RRR of Test Automation Maintenance" at...
 
#Interactive Session by Srithanga Aishvarya T, "Machine Learning Model to aut...
#Interactive Session by Srithanga Aishvarya T, "Machine Learning Model to aut...#Interactive Session by Srithanga Aishvarya T, "Machine Learning Model to aut...
#Interactive Session by Srithanga Aishvarya T, "Machine Learning Model to aut...
 
#Interactive Session by Sudhir Upadhyay and Ashish Kumar, "Strengthening Test...
#Interactive Session by Sudhir Upadhyay and Ashish Kumar, "Strengthening Test...#Interactive Session by Sudhir Upadhyay and Ashish Kumar, "Strengthening Test...
#Interactive Session by Sudhir Upadhyay and Ashish Kumar, "Strengthening Test...
 
#Interactive Session by Sayan Deb Kundu, "Testing Gen AI Applications" at #AT...
#Interactive Session by Sayan Deb Kundu, "Testing Gen AI Applications" at #AT...#Interactive Session by Sayan Deb Kundu, "Testing Gen AI Applications" at #AT...
#Interactive Session by Sayan Deb Kundu, "Testing Gen AI Applications" at #AT...
 
#Interactive Session by Dinesh Boravke, "Zero Defects – Myth or Reality" at #...
#Interactive Session by Dinesh Boravke, "Zero Defects – Myth or Reality" at #...#Interactive Session by Dinesh Boravke, "Zero Defects – Myth or Reality" at #...
#Interactive Session by Dinesh Boravke, "Zero Defects – Myth or Reality" at #...
 
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
 
#Keynote Session by Sanjay Kumar, "Innovation Inspired Testing!!" at #ATAGTR2...
#Keynote Session by Sanjay Kumar, "Innovation Inspired Testing!!" at #ATAGTR2...#Keynote Session by Sanjay Kumar, "Innovation Inspired Testing!!" at #ATAGTR2...
#Keynote Session by Sanjay Kumar, "Innovation Inspired Testing!!" at #ATAGTR2...
 
#Keynote Session by Schalk Cronje, "Don’t Containerize me" at #ATAGTR2023.
#Keynote Session by Schalk Cronje, "Don’t Containerize me" at #ATAGTR2023.#Keynote Session by Schalk Cronje, "Don’t Containerize me" at #ATAGTR2023.
#Keynote Session by Schalk Cronje, "Don’t Containerize me" at #ATAGTR2023.
 
#Interactive Session by Chidambaram Vetrivel and Venkatesh Belde, "Revolution...
#Interactive Session by Chidambaram Vetrivel and Venkatesh Belde, "Revolution...#Interactive Session by Chidambaram Vetrivel and Venkatesh Belde, "Revolution...
#Interactive Session by Chidambaram Vetrivel and Venkatesh Belde, "Revolution...
 
#Interactive Session by Aniket Diwakar Kadukar and Padimiti Vaidik Eswar Dat...
#Interactive Session by Aniket Diwakar Kadukar and  Padimiti Vaidik Eswar Dat...#Interactive Session by Aniket Diwakar Kadukar and  Padimiti Vaidik Eswar Dat...
#Interactive Session by Aniket Diwakar Kadukar and Padimiti Vaidik Eswar Dat...
 
#Interactive Session by Vivek Patle and Jahnavi Umarji, "Empowering Functiona...
#Interactive Session by Vivek Patle and Jahnavi Umarji, "Empowering Functiona...#Interactive Session by Vivek Patle and Jahnavi Umarji, "Empowering Functiona...
#Interactive Session by Vivek Patle and Jahnavi Umarji, "Empowering Functiona...
 
#Interactive Session by Sumit Mundhada, "Observability in Software Testing" a...
#Interactive Session by Sumit Mundhada, "Observability in Software Testing" a...#Interactive Session by Sumit Mundhada, "Observability in Software Testing" a...
#Interactive Session by Sumit Mundhada, "Observability in Software Testing" a...
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 

#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Quality Engineering in Remote IoT System" at #ATAGTR2023.

  • 1. KONGSBERG PROPRIETARY: This document contains KONGSBERG information which is proprietary and confidential. Any disclosure, copying, distribution or use is prohibited if not otherwise explicitly agreed with KONGSBERG in writing. Any authorised reproduction in whole or in pa rt, must include this legend. © 2020 KONGSBERG – All rights reserved. Elements of Quality Engineering in Remote IIoT System 09/12/2023
  • 2. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication 2 Your Speakers Software Test Engineer – L1 Kongsberg Digital Software Test Engineer – L1 Kongsberg Digital https://www.linkedin.com/in/kirti-satapathy/ https://www.linkedin.com/in/nandini-krishna-699026118/
  • 3. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication  QA involves the use of testing tools and techniques to pinpoint defects within a refined software product, and the tools the QA specialists use often depend on the products they're assessing.  Quality assurance process uses advanced testing techniques to detect and remediate as many defects as possible to ensure stable, usable product that functions according to specifications.  Quality Assurance is about testing (Functional/Automation/Performance/…) the quality of the product or a feature and making sure its defect free & stable for end user to use smoothly. 3  QE involves the use of different tools and techniques to prevent defects and enhance the software development process throughout the SDLC.  Quality engineering spans the entire product lifecycle, which begins long before the development lifecycle, starting from focus on testable requirements before implementation.  Quality Engineering is about engineering/designing processes, solutions using various testing tools, and sometimes using unorthodox or unique methods to ensure the product we are delivering to the end user is the best one. Quality Assurance vs Quality Engineering Quality Assurance is a part of Quality Engineering
  • 4. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication Company Limited Industrial IoT (IIoT)  Industrial IoT (IIoT) is an extension and use of the IoT in industrial sectors and applications.  With a strong focus on machine-to-machine (M2M) communication, big data, and machine learning, the IIoT enables industries and enterprises to have better efficiency and reliability in their operations.  IIoT is an intersection of information technology (IT) and operational technology (OT).  Its commonly used in heavy asset industries like Marine, Green Energy, Advanced Robotics, Medical devices etc. 4
  • 5. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication 5 Scenario-1 Challenge : The unstable and low bandwidth network (satellite internet) Production Issues • Memory leak • Thread lock • Thread pool starvation • Image not found • File not found • Pods stuck in creating state • Pods restarting contineously
  • 6. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication 6 Network Metrics Json List Throttler Driver N/w Perf. Logger Ping Test Ping Test Server Cloud Token Buckets Network Interfaces : eth0 / ifb0 Tc / qdisc / netem Shaper Policer Throttler Core Solution : Live Network Emulation in testing environment
  • 7. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication 7 Scenario-2 Challenge : How the Automation script, running on Windows machine, will interact with the Linux machine? Automation Script running here for UI actions in Browser Corresponding backend process occurs here
  • 8. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication 8 Throttler Core Solution : Use plink ssh connection to connect to the linux machine programmatically from automation script. Steps: • Create .bat file with plink command combined with required linux command. • Syntax : plink -batch -t -ssh <linux_username>@<linux_ip> -pw <linux_password> <linux_command> • Run .bat File from script : execSync(`cmd /c start "" cmd /c <.bat filename>`);
  • 9. WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 9 Challenge : How to transfer files between linux and windows machine? Solution : Use folder mounting between windows & linux machines. • Mount a shared folder from windows machine to a folder in linux machine. Command : sudo mount.cifs <windows_shared_folder_path> <linux_folder_path> -o user=<windows_username>,password=<windows_password> • To verify if the folder is successfully mounted use below command. Command : sudo findmnt <linux_folder_path> • Now we can use the shared folder on windows to transfer/copy a file from windows to linux machine • Similarly, we can use the mounted folder on linux to transfer/copy a file from linux to windows machine Scenario-3
  • 10. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication 10 Scenario-4 Challenge : How to capture & verify contents of linux command output? Solution : Capture & store the output of linux command in a file (.txt/.json/.csv) on windows machine to verify the contents. Steps : • Syntax : plink -batch -t -ssh <linux_username>@<linux_ip> -pw <linux_password> <linux_command> >> <windows_file_path> • Then verify the contents of the windows file.
  • 11. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication 11 • To verify the docker installation status and container status. Command : sudo docker ps • To verify cafnet status/details. Command : sudo docker inspect cafnet • To run a query inside influxDB, installed as a container. Command : sudo docker exec InfluxDB influx -execute 'SELECT * FROM <retention_policy>.<table_name>' -database=<database_name> Docker Container & InfluxDB automation
  • 12. WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 12
  • 13. KONGSBERG PROPRIETARY - See Statement of Proprietary information WORLD CLASS – Through people, technology and dedication 13 Kubernates Validation Automation • To verify the pods status. Command : kubectl get pods –A • To enter into a pod. Command : kubectl exec -it <podName> -n <namespaceName> -- sh • To fetch contents from a pod. Command : kubectl exec -it <podName> -n <namespaceName> -- sh -c "cat <file_path>“ • To see the logs for a pod. Command : kubectl logs <podName> -n <namespaceName> • To see the logs for a container inside a pod Command : kubectl logs <podName> -n <namespaceName> -c <containerName> • For port forwarding of a pod. Command : kubectl port-forward <podName> <local_machine_port>:<pod_port> • To get metrics for a given pod and its containers. Command : kubectl top pod <podName> --containers
  • 14. WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 14
  • 15. WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 15 High Frequency Real-Time Data Analysis Automation
  • 16. WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 16 High Frequency Real-Time Data Analysis Automation • Solution : Use Mutation Observer function to capture live data. • Mutation Observer : The MutationObserver interface provides the ability to watch for changes being made to the DOM tree. • Source : https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
  • 17. WORLD CLASS - Through people, technology and dedication KONGSBERG PROPRIETARY - See Statement of Proprietary information 17 Log Analytics OpenSearch Dashboard • OpenSearch is a distributed, community-driven, Apache 2.0-licensed, open-source search and analytics suite used for real-time application monitoring, log analytics, and website search. • It makes large log file analysis easier.
  • 18. KONGSBERG PROPRIETARY: This document contains KONGSBERG information which is proprietary and confidential. Any disclosure, copying, distribution or use is prohibited if not otherwise explicitly agreed with KONGSBERG in writing. Any authorised reproduction in whole or in pa rt, must include this legend. © 2020 KONGSBERG – All rights reserved.