Software Testing is carried on to ensure smooth and error free delivery of any product or prototype.It covers the boundary value cases and strength and robustness testing.Testing in layman terms helps  to find flaws in design and development of any product.Testing  helps to find bugs in  a product  from development till deployment and delivery.Testing covers all aspects –security,hardware dependency,upgrade etc.It requires a proactive approach to deal with  all kinds of bugs and failures of a software.
Software testing is the key element for any quality deliverable to the end customer. It  involves checking different parameters like system resources,dependencies,boundary checks,code quality checks to  make it mark as effective.The testing are of  various types –white box,black box and gray box testing.White box testing  means to verify the internal structure or workings of  a module or a program.Black box testing means to test the functionality of a software without knowing the internal details of it.Gray box testing means  testing the software by privileges in the program/software.Software testing is involved at various levels.
1)Unit Testing-The testing done by developers on the code to test the functionality.
2)Integration Testing-Testing done to check and integrate modules,and how they respond in  a particular environment.
3)System Testing-It tests the complete integrate system to verify the requirements.
4)Acceptance Testing-It is of  various types-
I)User Acceptance Testing-(UAT)
ii)Operational Acceptance Testing(OAT)
iii)Contractual and Regulatory Acceptance Testing
iv)Alpha and Beta Testing
5)Compatibility Testing-A system is not compatible with other applications .
6)Smoke and Sanity Testing-Minimum tests to qualify the build/software.Sanity testing determines whether it’s reasonable to proceed with further testing.
7)Regression Testing-It focuses on finding defects after a major code change has occurred.
8)Alpha Testing-It is operational testing by users.
9)Beta Testing-It is an external user acceptance testing.
Functional vs Non-Functional
->Functional testing refers to activites that verify a specific action or function of code.Non-functional testing refers to testing from end users perspective.example-scalability and performance.
The relevance of software testing is to anaylse bugs and defects both during development,testing and till delivery phase. It helps both client and developers and managers to check for faults and raise the concerns  post development  through agile methodlogy.Agile methodlogy of testing is incremental and iterative.Each time a new feature or enhancement  is done on a feature,it needs to be tested in regression.Testing of a product helps in following ways-
1)Raising the secondary issues before actual delivery.
2)Covering the corner cases
3)More robustness  testing of small enchancements to feature or whole system
4)Performance and scalability testing helps in testing the system  in any environment which promotes effortless delivery.
 
 
              
 
    
Top comments (0)