QA–QC Arena – Software Testing Home for beginners and experts

Software Developer, Software Tester, & their interactions

   Software Developers & Software Testers are the backbone of any Software Application. It doesn't matter which domain we are working on, which development methodology is being followed, which tools & technologies are being used; successful implementation of a Software Application depends on Software Developer, Software Tester & their interactions. Of course, other stakeholders including Business, Product, Change Control, Security, Architecture, Project teams also plays a vital role.

    More the Developers and Testers interact with each other more the clarity they have on Functional, Non-Functional characteristics of the Software being developed. Be it a complying with the Processes, or be it an understanding of the Requirement Specifications, their interactions and collaboration makes the Software Development & Software Testing Life Cycle easier.

Food for Thought – Acceptance Testing

Be it Software or any other Work Product, end users satisfaction is what makes it successful.

In the below picture a child playing with his Toy is completely engrossed in it. It appears that a Toy (Work Product) is fully fit for his use (to play with).

The same thing is applicable for Software as well. End users should feel that the Software is fit for use.

Below are the details focusing on #AcceptanceTesting.

The goal of Acceptance Testing is to establish confidence in the system.

It is focused on a validation type of testing, whereby we are trying to determine whether the system is fit for purpose.

Finding defects should not be the main focus in acceptance testing.

The execution of the acceptance test requires a test environment that is for most aspects, representative of the production environment.

Acceptance testing may occur at more than just a single level.

User Acceptance Test – It focuses mainly on the functionality, thereby validating the fitness-for-use of the system by the business user.  User acceptance test is performed by the users and application managers.

Operational Acceptance Test (Production Acceptance Test) – It validates whether the system meets the requirements for operation.  System administrators will perform the operational acceptance test shortly before the system is released. The operational acceptance test may include testing of backup/restore, disaster recovery, maintenance tasks and periodic check of security vulnerabilities.

Contract Acceptance Testing – It is performed against a contract's acceptance criteria for producing custom-developed software.

Compliance Acceptance Testing – Compliance acceptance testing or regulation acceptance testing is performed against the regulations which must be adhered to, such as governmental, legal or safety regulations.

Alpha Testing – It takes place at the developer’s site. A cross-section of potential users and members of the developer's organization are invited to use the system. Developers observe the users and note problems. Alpha testing may also be carried out by an independent test team.

Beta Testing – Beta testing, or field testing, sends the system to a cross-section of users who install it and use it under real-world working conditions. The users send records of incidents with the system to the development organization where the defects are repaired.