Skip to main content

Testing With Agility

I am expressing my views and learning on Agility for Testing. This article highlights the challenges and solution when one has to do the testing alongwith the development.
What approach for testing should be taken when “Time to market” is an important factor. The solution of course is to utilize testing time alongwith the development. But is it such an easy task for tester or developer or for management? Of course, not.
To successfully overcome such a situation requires commitment and support from the entire project stakeholder but more support, coordination and commitment are required among test team and development team.
The process that should be followed to overcome such a situation is mentioned below:
1. Define your Test Strategy
2. Define your team and assign responsibility
3. Do not wait for a formal process of release
4. Keep doing the testing as soon as build is ready for testing (Do not wait for formal release)
5. Always keep in mind that tester and developer are working as a team and your objective is to deliver a quality product on schedule.
6. Communicate the defects to developer and help him in understanding the defect.
7. Test each unit once developer finished the work
8. Make your seating arrangement near to developer
9. Communicate verbally as much as you can and do not always communicate formally
10. Always remember that you have a limited time for everything and if you start creating problem, then it is going to waste every one time in meeting and discussion.
11. Do the meeting and discussion only when you are trying to find a technical solution for defect or functionality.
12. If possible release the application to your customer for sneak peak. This is just to save the time and defect when you release the build formally. This also helps in raising the confidence of your customer in the product.
13. If there is dependency on 3rd party, then have a solution ready for doing the testing in case 3rd party is not able to provide the services on time. This can be one of your major risk and should be handled in your test strategy.
14. Keep your motivation high as many a times you feel low on energy due to agile nature of execution.
In my opinion, there is nothing new from execution prospective, it more related to coordination, communication and team work among the development team and test team.
In normal situation also you devote your time in writing test cases, then executing those test cases on formally release build. There is an idle time for tester when development is going on.
If you really want to deliver a quality product, then involve a functional tester while your development is going on and do not wait for the last moment when development get over and you are going to start the testing, this is a very traditional approach and may lead to poor quality for the product. This does not mean that you change the defined process, just make reshuffling in your process and utilize it for your organization maximum benefit.
I would like to share my experiences for a process (you must be known to this process) which is really going to help you in your work. Many of you know this basic process. I am here just adding the activities for a tester in each lifecycle` stage.
Requirement Gathering – Tester should be involved in requirement gathering or requirement analysis. Tester should start developing the test scenarios based on their requirement understanding and should share the same with the functional analyst for the feedback.
Design Development – Tester should participate in the design meeting and he/she should share their thought on the application design. Tester is testing various types of application and design team can make benefit of his/her experiences while designing the system. Tester should update their test scenarios after design review meeting if s/he required a need to do so.
Development – The tester should be assigned the role and responsibility for testing modules. Then it is the responsibility of tester to test the module in coordination with the developer while development is going on. This approach saves a lot of time and also many functional defects to get passed onto the next stage. You should make use of your test scenario document while testing the functionality.
Integration testing – This is one of the important aspects of development life cycle. This may include much complex system with which your product is going to interact. I am here not talking of the integration of the module within application boundary. I am talking of the things which are outside application boundary and which is important for interaction with our system. To successfully do integration testing when complex system interaction are involved, you better start early and make a concrete test strategy in terms of communication involved among the system. It is a good idea to make an Integration testing Plan separately and share it among your stakeholders for feedback and information.
If your system does not interact with complex system then you may or may not require an Integration Test Plan. You better decide for your integration approach.
Testing - Now once you moved into testing phase, you should realize that how less you now need to test. You just need to do the regression testing and you must do a re-verification of the defect you reported during development stage. Re-run your test scenarios and report and verify your defects to closure.
UAT - Your application is now ready for UAT. Go and formally make a release to your customer.
Note: If you development life cycle is Iterative or other model, you must follow the above process of testing particularly during development stage. Development is inevitable stage irrespective of methodology.
Please share your view points on the above topic.

Comments

Popular posts from this blog

Mantis - Defect Management Tool - User Guide

Introduction This white paper contains information related to an open source defect management tool called Mantis which is freely available for managing all your defects. Where to Download One can download the latest version of Mantis from http://sourceforge.net/project/showfiles.php?group_id=14963 Download the “mantis-stable” and then “mantis-x.y.z.zip”.1.1 PRE-REQUISITE Operating System Windows 2003 Server, MacOS, OS/2, Linux, Solaris Database MySQL database 3.23.2 and higher Software PHP 4.0.6 and higher Application Server Apache 1.3, Apache 2.0.54, IIS 6.0 with Web Services Extension Browser IE6 and above, Mozilla Firefox STEPS FOR INSTALLATION – FOR WINDOWS MySQL Installation Install MySQL by downloading it from http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-gui-tools-5.0-r6-win32.msi/from/http:/www.mirrorservice.org/sites/ftp.mysql.com/ . Please follow the below mentioned steps while installing MySQL: (Please remember the password for “root” account...

Why to do Software Testing?

Regardless of the limitations, testing is an integral part in software development. It is broadly deployed in every phase in the software development cycle. Typically, more than 50% percent of the development time is spent in testing. Testing is usually performed for the following purposes: To improve quality. As computers and software are used in critical applications, the outcome of a bug can be severe. Bugs can cause huge losses. Bugs in critical systems have caused airplane crashes, allowed space shuttle missions to go awry, halted trading on the stock market, and worse. Bugs can kill. Bugs can cause disasters. The so-called year 2000 (Y2K) bug has given birth to a cottage industry of consultants and programming tools dedicated to making sure the modern world doesn't come to a screeching halt on the first day of the next century. [Bugs] In a computerized embedded world, the quality and reliability of software is a matter of life and death. Quality means the conformance to the ...

Is BCI (Brain Computer Interface) a road to immortality?

What is a Brain-Computer Interface? Brain-computer interface is a technology which can read your mind and display it on a device - a mobile, laptop or TV screen. It means what data is being carried by our billion neurons are prone to hack.  When combined with other mechanical devices, can also be used to control the device.  So in future, if you want to switch on your TV or light, you just have to think and that's all.  Google and Alexa home will be replaced by BMI controlled devices.  I am not an expert in this field but based on my research and analysis, I can predict that when BMI tech will get matured, the human can do brain to brain talk and many other magical things - in future Telepathy will be a day to day affair. BCI can give you all kind of experience from the comfort of your home.  You can go on vacation without leaving your bedroom. You can have romantic experience without having a partner and many more such experiences. ...