Wednesday, April 11, 2018

Insprint Automation - Perfecto + UFT Implementation Mobile Automation



Insprint Automation - Perfecto + UFT Implementation Mobile Automation :
---------------------------------------------------------------------------------------------------------------------
I am proved to say that, It is loosely coupled and implemented the InSprint Automation in Morgan Stanley Inc. & Mediacom Communication Inc. ( For the existing scenario of automation  with respect to Change Request, functional Upgrades and high priority defect fix of the sprints Task Breakdown )

Automate Testing within the same Sprint :
  1. Agile Software testing
  2. Automated Testing in Agile - Struggles
  3. Challenges
  4. Approach
  5. Achieve automation in same Sprint.
* The Usual Agile Processes :
-----------------------------------------------
* Input from stake holder ->
   Product owner ->
   Product Backlogs ->
   Sprint Planning ->

Where
* Sprint Backlogs
Task Breakdown }-> 2 Week Sprint -> Daily Standup  - > Team
               }-> Sprint Review - Sprint Deliverable -> Sprint Retrospective

* On Sprint Planning : Respect \ commitment \focus \courage\ openness
* Burn Down chart - Real time reporting.












Can be done for Unit, Integration, System, UAT Testing and Regression testing.

2. Automation Struggles :
------------------------------
-----------
1. Convert frequent application\ environment downtime while authoring manual Test Cases or doing exploratory testing,
   preparing Test data for preferred Environment ( down time in environment ),
   3rd part applications messaging server down,
   Convert manual tests into automated tests
2. Automation lagged by at least a sprint
3. Backlogs increased as testers didn't have time (eg. Last minute code deliverables )
4. Frequent changes in user requirements\ stories due to new customer requirements.
5. Teams dependency on programmers ( Complex components to me modified for the automation by the programmers and  they are even required to update the automation components to speed up the process.)
* Automated testing got the least priority in the Test Architect Agile software development cycle.


 3. Challenges :
------------------------
We have 3 major Agile automated testing Challenges
a. Technical Challenges
   i.Automating Manual Tests
  ii.Waiting for the UI to be ready for test
 iii.BottomUp approach to automated testing
  iv.Automating "Tests"

b.People Challenges
   i.Lack of resources
  ii.Lack of time
 iii.Improper planning and estimation
  iv.Lack of proper communication within the team.

c..Organizational Challenges

   i.Lower priority for automated tests
  ii.ROI mindset
 iii.Finding the right balance
  iv.Automating "Tests"

* To resolve all the 3 challenges and to speed up, we can introduce the Root cause analysis.

So far automated testings success stories :
------------------------------------------------------
--------------
 * Action Based Testing (ABT)
 * Test Design Vs Testing automation
 * Players in different stages of the sprint
 * The process & Break down
 * Results

Action Based Testing :
* Test design
* Interface Mapping
* Actions
 - System level actions (Low level, generic)
 - Application level actions (High level, business functional, specific - combination of multiple functions)
 - Intermediate Actions (mid level, driving dialogs and navigation)
 - Custom actions ( Programmed - Library files)

High leve Testl Design - Test Development plan - Define the Chapters
-------------------------------------------
Test Module 1 ....2 .....Test Moudle N      }->
                        }
Objectives 1 .....2 .....Objectives         }-> Create the Chapters
                        }
Test Cases1 ....2 .....Test Cases           }->
                        }


Actions                      -> Create the Words

Automation                      -> Make the words work


+ Interaction Test - Test data Table &
+ Business test - Test data table.


*Test design Vs Test Automation
* Test design
 - looks at the bigger picture
 - Top down approach
 - Aggregate test into modules with common objectives
 - Separate business level objectives and UI level objectives.

* Test Automation
 - Interface mapping ( be it web, desktop or mobile)
 - Action library
   * System level actions - click, select etc.
   * Intermediate level actions - actions created by gathering properties from applications.
   * Application level actions - combination of lower level actions and /or  intermediate level action.
   * Custom actions - programmable actions
- Test execution involves running test against the application and generating results report.