Thursday, June 28, 2018

Agile & DevOps handshake for business agility & increased quality

In this digital world, as per report by McKinsey, around 30 billion objects may be connected through IoT by 2020.  The trend is that it will be 1-3 devices per person. The adoption of IOT is very high in Manufacturing, Remote health care , Transportation, Security and bringing other consumer fields which were never thought off or explored earlier.  Improving efficiencies and monetization of services for improvement of economies are the core use cases for IOT.

Azure IoT, Cisco IoT Cloud connect, Ge Predix, IBM Blue Mix, RTI, ThingWorx and other platforms are available in market to help organizations quickly migrate their devices to IOT.  It is observed that organizations do not onboard all their IOT systems as whole, but will essentially migrate/ integrate their existing devices into the IOT and reuse majority of existing devices. 

When varied devices are connected, Administered, Managed and Updated, retired/ Upgraded with additional features, the testing and Business assurance for such system is quite challenging.  The agility of business that you launch new features and manage them as quickly as possible and enhance them with minimal disruption makes you to embrace DevOps. Your approach should cover QA involvement in Continuous Development, Continuous Deployments and Continuous testing.

Key Design Considerations for IOT components:

  • Open ended Architecture, Monolithic Application design
  • Secured Operations System
  • Fault tolerance
  • Secured network/ Communication layer
  • Asynchronous Data connectivity

Testing considerations to be taken closely by Quality engineering team are:

  • Testing SME  to be involved from early phases of life cycle. Development, Operations and Business people work cohesively
  • Testing each and Every subcomponent
  • Testing on simulators and testing on actual devices
  • Testing across layers in Devices, Network, Communication and Data management etc.
  • Automation testing at all layers Code, UI, Data and Services
  • Looped testing covering Unit, Module and Integration testing
  • Inbuilt focus on Performance and Security testing from component layer
  • On demand/ automated environment and network provisioning
  • Overarching automation covering e2e scenarios cutting across devices, environment and networks
Comment here/ write to me  to get free ready reckoner check list on IOT testing