Daily Archives: October 15, 2017

SDLC & Agile – Interview questions for Freshers -5

In continuation of my previous blog  on this subject following questions and answers are continued:

1. What is retrospective in agile and where it can be useful?

Ans: During agile development model in each iteration different requirements are considered to design, develop and construct the code. While performing these tasks there can be different issues identified and resolved by the teams at each stage. The teams need to maintain knowledge information against to each issue as lessons learnt. These issues resolution mechanism processes are going to be considered for any process improvements  for next iteration. During the retrospective [after completing iteration] the team is going to discuss the lessons learnt  from the completed  iteration and the best practices  identified for next iteration. The retrospective is a mandatory activity for every iteration of Agile projects. And this need to be conducted before starting the next iteration.

 

2.   What is continuous stream of development in agile model?

Ans: As per the agile concept continuous software delivery need to  happen by following iterative development. Let us assume the development team consider the four days for development and fifth day it need to go for release and deployment, fifth day onwards developer considered as other iteration/SPRINT as their continuous development activity. The developers are picking up one  by one SPRINT items for their construction activity this is called as continuous stream of development. When the testing activity is ongoing the developer can pickup other workable items from the SPRINT to do construction activity.

 

3. What is Continuous Delivery[CD] in Agile ?

Ans: As per the agile concepts and principles, the developer need to get small chunk of workable item only which can be delivered in hours or few days.  When this kind of continuous development is happening through the agile developers there will be builds for continuous testing and deployments. Obviously then the agile project leads to have continuous  delivery [CD] of software into production with small chunks of functionality or fixes.

Example: Many technology companies consider each SPRINT item to complete in hours only to speed up their ongoing software deployments for their daily business needs. This kind of concept is called as Continuous Delivery [CD] in Agile.

 

4.  What is transition activity and their tasks involved in  agile project?

Ans:  Transition activity is start with deploying software release into production. Once the software construction phase is signed off the transition activity need to be started, typically transition activity contains following tasks.

i) Active stakeholder participation

ii) Final system testing

iii) Final acceptance testing

iv) Finalize documentation

v) Final testing of the release

vi) Train end users

vii) Train production staff

viii) Deploy into production.

All the above tasks are performed in the sequential order.

 

5.  What is final system testing during transition stage?

Ans: Once software can be deployed  internally, the planned system testing need to be conducted by testing team for a specific iteration. Once system testing is passed or certified the  acceptance testing need to be started.

 

 6.  When can you conduct final acceptance testing in agile model?

Ans:  In any agile project developers need to conduct a skeleton software demo to the users. Depends on the design requirement once users approved it, the Construction phase need to be  started. Once the software is constructed and  it can be deployed internally for various levels of testing during the transition stage of agile project. At this stage the software release is deployed in test environment. Then the  system testing is conducted and signed off.  The final acceptance testing is conducted on the software to be delivered to the users in production. Once the final acceptance is signed off the remaining tasks are being performed during transition phase, as mentioned in the list of tasks.

 

7. When can the pilot testing  happen and who all will perform it?

Ans: During the transition stage once the acceptance test is signed off , and final document is done, the software build is executed under a pilot test in a preproduction test or in a production environment depends on the organization policy. The pilot test is attended by the business users and testers or nominated coordinator along with the development team and operations[ops] team.

 

8.  During the transition stage who all need to be trained?

Ans:  Once the pilot test is done software end users and the production staff (ops team) needs to be trained to operate the product in live [production] for business operations.

 

9.  When can you deploy the system into production?

Ans: During transition stage once the pilot test is signed off, end users and production staff will be trained on software system and then it is deployed into production.

 

10. How a  prototype can be designed ?

Ans: When the business user give some requirements which consists of user interface and some data processing to provide output, there are two ways we can design prototype software; a) Prototype model  b) Design and developing the complete software.

a) Prototype model: During prototype model developer design and develop the critical requirements of the users and demonstrate those things as the skeleton software. The skeleton software will not have the complete software operations. It will have an user interface to get an idea by the user on the software to be delivered by the development in future. Once user approved skeleton model, developer can design complete model through Agile SDLC. Note; the prototype model or process can be applied  for one or more SPRINT cycles or iterations.

b) Design and developing the complete software: This kind of software happens in a regular Agile project process from collection of user story onwards. All the agile phases and their tasks will be applied for execution. If the team agreed to a demo [for prototype], the user demos can also happen as and when required for each SPRINT during construction phase.

Keep watching this site for further updates.

Contact for any guidance/coaching.

 Vcard-Shanthi Kumar V

 

Continuous test automation planning during Agile iterations

Continuous test automation planning during Agile iterations

Please refer to my blog and videos on Agile practices and the importance of Re-usable code libraries for cycle time reduction.

During the reusable code usage and the iterations or sprint planning, the test automation also can be planned, designed and implemented.

This blog eloborates on  the easy processes can be used to implement it and demonstrate the cycle time reduction. Please note atleast after passing the two cycles of tests on the selected manual scripts need to be planned for test automation.

I am trying to elaborate on the process of the Automation of unit testing and component or module integration test automation. Please note the test automation is also a development project. Hence some of the phases are similar to SDLC. The pictorial chart elaborates the detailed steps involved in these test phases automation. Module (Unit) or Component Development in Agile: The below contents and the chart narrates the relationship of automation Development process and the Testing process under each development phase. Development and Testing process Relationship table:

Phase Development Process Test Process
Module (Unit) or component Development Design module from requirements Perform test planning and test environment set up.
  Code module Create test design and develop test data.
  Debug module Write test scripts or record test scenario using module.
  Unit test module Debug automated test script by running against module. Also, tools that support unit testing [Purify, etc] can be used.
  Correct defects Rerun automated test script to regression test as defects are corrected.
  Conduct Performance Testing Verify system is scaleable and will meet the performance requirements. This is the entry criteria for Integration test automation.
Integration
Build system by connecting modules.Conduct Integration test with connected modules.Review trouble reports. Combine unit test scripts and add new scripts that demonstrate module inter-connectivity. Use test tool to support automated integration testing.
  Correct defects and update defect status. Rerun automated test script as part of regression test, as defects are corrected.
  Continued Performance Testing Activities At this point, Verifying system is scaleable and will meet performance requirements with the integrated modules. If this passes then the system test or VVT entry can be considered.

Below chart demsontrates the process steps to be used for test automation of unit test and integration testing:

UT&IT

The acronyms used in the chart: TC–>Test case, TD–>Test data, TR–> Test requirement, UT–>Unit test, IT–> Integration test.

All the automated test scripts and test data  need to be preserved under configuration management tools.

Choosing the right tools for test automation comes under tools evaluation process. Once the tools are identified, the above processes can be planned and adopted for regular practice on the Agile projects.

 

 

Vcard-Shanthi Kumar V-v3