Testing Basic Interview Questions

Explain Role of Testing in SDLC? Why Testing is important in SDLC

Testing plays an important role in SDLC and it is very crucial because in SDLC, testing improve reliability, performance and some other factors that may require during this process. Here, I am writing post Role of Testing in SDLC with Importance so that apart from role, you can also learn why testing is important in SDLC.

Role of Software Testing in SDLC – Software Development

Below are given some important roles that are played by the testing in the development of software (SDLC)

1. One of the important role plays by testing in SDLC is that it, examines code/program for discovering problems and errors early in the system.

2. Another role is, testing always simulating a system/application to perform a program operation.

3. Software Testing always evaluates the capabilities of the code/program over entire products.

4. Another main role is that, testing always helps in reviewing of requirements and design as well as executing the code.

5. Testing is also important in measuring system/application functionality and quality of the product/project.

6. Testing also plays important role in lowering the maintenance cost of the software product/project.

7. It also helps in providing interaction between development and users.

Importance of Software Testing in SDLC – Software Development Life Cycle


Software Testing is considered as the one of the important and necessary phases in SDLC because of the following reasons given below:

1. Testing always helps to verify that complete software requirements are implemented correctly or not, means it is implemented according to the defined requirements or not.

2. Testing definitely helps in identifying defects/bugs and ensuring they are recognized/addressed before software deployment stage.

3. Testing also demonstrates that software/application appears to be working according to specifications and the performance requirements that have been defined is also met.

4. One of the main reason why testing is important in SDLC is, testing always helps to verify proper integration and interaction of each component in the system.

Important Note

As you know Software Testing has become one of the crucial parts of development and it is better to start testing from the very early development phase in order to avoid future difficulty by correcting the bug/defect at the final/last stage.

If any defect/issue is found and fixed after development, then the cost of correction will be much higher than the cost of fixing it at earlier stages of development.

Conclusion

At end we conclude, this is all I know regarding Role of Testing in SDLC and why Testing is Important in SDLC, but if you know better points on these popular terms, than discuss your thoughts in the comments section below to help others. Your feedbacks are also welcomed for this very popular post.

What is End-to-end Testing with Example

End to End Testing is the approach in which tester/developer always validate whether the flow of application/software from the starting point to the end point is working perfectly or not.

End to End Testing Example - Real

For Example we are testing the web page of application than the start point will be logging in to web page and the end point will be logout of the web page means logout from the application/software.

So in this example of End to End Testing, tester/developer check whether the flow of application from starting to end point is working fine or not.

So in the above example when we login to the web page than tester/developer check that after login flow is properly working or not like they check after login we get into home page or not, they also check after login we are able to do some work or not, and finally they check after doing some little bit work we are able to logout from the application or not. So this is the End to End testing of web page performed by Developer/Tester, in which they check the complete flow of application from starting to end point.

Another Example of End to End Testing

Let’s take another example of this testing which is given below:
Suppose you are logging in to Gmail than End to End Testing is that after login you get into inbox or not, you are able to open and compose a mail or not, you are able to forward the mail or not, then finally you are able to logout from the Gmail or not. So this is the End to End Testing of Gmail in which tester check the flow of Gmail from starting to end point means from logging to logout point.

Conclusion

At end we conclude that End to End Testing is considered as the part of System Testing, and this testing is always conducted (carried out) to validate the flow of data between different modules. And you may also note that this testing is obviously conducted before closing the testing.

Back to Back Testing with Definition, Example and Steps

Back to Back Testing is a type of Software Testing in which two or more variants of a component are always tested with similar inputs and their corresponding outputs are compared and examine in case of any discrepancies that may exists in future. Back to Back Testing is a testing process in which events that are associated with it are defined and examined properly.


This testing always involves cross-comparison of entire responses that are always obtained from functionally equivalent software components. In this testing whenever a difference is determined/observed it is measured and if essential a correction is applied too.

Definition

Somerville 1998 defined Back to Back Testing in his own way because he said this testing is always used when several/various versions of a system/application exist for testing. According to him in this testing all versions are tested with similar set of tests and then the results are always compared for some system/application problems if any issue exists.

Example of Back to Back Testing

Best example for doing this testing is to always test two versions of a component with similar inputs and then comparing the outputs. And further outputs are examined if there are any sort of discrepancies occurs. For example software that exists in ATM centers their outputs should be same with same inputs without bothering how the data is examined at the back end.

Steps for doing Back to Back Testing

Below is given some steps that may carry out during Back to Back Testing.
1. First step is that in which specific purpose set of test cases is always prepared.

2. Now using these test cases we can run the different system/application versions and store the results in different files.

3. Final step of this testing is to perform the automatic comparison of the results stored in different files and then generate the Difference Report.

Some people do not know about Difference Report means what it is all about, so below is given the definition of Difference Report which clears its definition.

Difference Report is that which always indicates the system/application problem that may exists among the different system versions.

Note

Please keep one thing in mind that this very famous testing technique can be very cost effective for new application/system especially for those application which has undergone some major modifications.

Conclusion

This is all I know about Back to Back Testing and if you know some more better points in this testing than you can definitely discuss your thoughts in below comments section so that others can make benefit from your points. And your feedback are always welcomed regarding this post.

System Testing Example - Complete Guide

System Testing Example is very simple one because the name system itself gives the answer that in System Testing we have to test the complete system. In System Testing we test the both Functional as well as Non Functional parameters of Software Testing.

Here I am showing you System Testing Example in a practical way and hope as a tester you did this Example every day in your company environment.

Below is given the Example of System Testing and after seen the example definitely you do not have any issues left in your mind because example is completely relates to real world.

System Testing Example – Step by Step Guide

For example you are doing testing on a web application of a school and in this web application there are many modules like Teacher Module, Staff Module, Parent Module, Student Module, and Admin Module and so on. Now you have to do System Testing on a web application of a school, so your criteria for doing System Testing will be like that which is given below:

1. First you test the GUI related issues on all these above mentioned modules by checking that font size, alignment, display images should work properly on all the modules.

2. Now after checking the GUI issues you move towards functionality related issues by checking that the requirements of client have been met or not.

3. After checking functionality you can check whether the application is user friendly or not by checking that proper error message should be displayed on screen or not. In this Usability Testing you test the system means application by keeping users in mind because if the application is not user friendly than client will not accept the application because in application apart from functionality, user friendliness is also very important.

Note: So in this way you can do the System Testing and above mentioned points on System Testing Example is general one but criteria for doing system testing may vary from company to company. Keep one thing in mind that, System Testing includes functional as well as non functional testing both.

So above mentioned points are totally related to Functional Testing and apart from that points you can also perform Regression, Re- Testing, Compatibility, Look and Feel, Navigation Testing and many other which can comes under Functional Testing. We just doing the 3 general points like GUI, Functionality, Usability but you can do many.

Now we proceeded towards non functional testing because non functional testing is also a part of System Testing. So we test the Performance, Volume, Load, Stress related issues on all the above mentioned modules, so this is the non functional testing done by us on all above modules.

So when you test the both Functional and Non Functional testing on all the modules which I mentioned above that means you have test the complete system as a whole means you did the System Testing on above modules. But keep one thing in mind that before doing the System Testing a system must be Integrated tested before, otherwise if the system is not integrated tested than definitely you waste your time by doing the System Testing.

Your turn regarding this Example

Now it’s your turn what you say about System Testing Example and if you know more examples on System Testing, than discuss it here so that others can learn some good points from you also. You can also give your valuable feedback for further improving the post.

Difference between Alpha Testing and Beta Testing


           Alpha Testing
               Beta Testing 
1. It is always performed by the developers at the software development site.
1. It is always performed by the customers at their own site.
2. Sometimes it is also performed by Independent Testing Team.
2. It is not performed by Independent Testing Team.
3. Alpha Testing is not open to the market and public
3. Beta Testing is always open to the market and public.
4. It is conducted for the software application and project.
4. It is usually conducted for software product.
5. Alpha testing is always performed in Virtual Environment.
5. Beta testing is performed in Real Time Environment.
6. It is always performed within the organization.
6. It is always performed outside the organization.



8. Alpha Testing is definitely performed and carried out at the developing organizations location with the involvement of developers.
8. Beta Testing is performed and carried out by users or you can say people at their own locations and site using customer data.
9. It comes under the category of both White Box Testing and Black Box Testing.
9. It is only a kind of Black Box Testing.
10. Alpha Testing is always performed at the time of Acceptance Testing when developers test the product and project to check whether it meets the user requirements or not.
10. Beta Testing is always performed at the time when software product and project are marketed.
11. It is always performed at the developer’s premises in the absence of the users.
11. It is always performed at the user’s premises in the absence of the development team.
12. Alpha Testing is not known by any other different name.
12 Beta Testing is also known by the name field testing.
13. It is considered as the User Acceptance Testing (UAT). But this testing is done at developer’s area.
13. It is also considered as the User Acceptance Testing (UAT). But it is done at customers or users area.

Conclusion:

This is all I know regarding Alpha Testing and Beta Testing and if you know more differences than you can discuss your points in comments and give suggestions.

Top 14 Differences between QA and QC in Software Testing

Difference between QA and QC is the heart of software testing. In software testing these two terms are majorly used in a product and project. Here I am writing the Distinction between QA (Quality Assurance) and QC (Quality Control) in tabular form so that everybody can learn it easily especially those who are new in field of Software Testing.

Actually those who are new in testing field do not exactly know what is QA and QC that is the reason I am sharing with you the Differences in tabular form so that everybody can learn it easily whether they are new to testing field or even those who have some experienced on Testing field can also increase their knowledge by see the differences on QA and QC.

Difference between QA and QC in Software Testing - Tabular Form

        Quality Assurance
         Quality Control
1. Quality Assurance helps us to build processes.
1. Quality Control helps us to implements the build processes.
2. It is the Duty of the complete team.
2. It is only the Duty of the Testing team.
3. QA comes under the category of Verification.
3. QC comes under the category of Validation.
4. Quality Assurance is considered as the process oriented exercise.
4. Quality Control is considered as the product oriented exercise.
5. It prevents the occurrence of issues, bugs or defects in the application.
5. It always detects, corrects and reports the bugs or defects in the application.
6. It does not involve executing the program or code.
6. It always involves executing the program or code.
7. It is done before Quality Control.

7. It is done only after Quality Assurance activity is completed.

8. It can catch an error and mistakes that Quality Control cannot catch, that is why considered as Low Level Activity.
8. It can catch an error that Quality Assurance cannot catch, that is why considered as High Level Activity.

9. It is human based checking of documents or files.
9. It is computer based execution of program or code.
10. Quality Assurance means Planning done for doing a process.
10. Quality Control Means Action has taken on the process by execute them.
11. Its main focuses on preventing Defects or Bugs in the system.
11. Its main focuses on identifying Defects or Bugs in the system.
12. It is not considered as a time consuming activity.
12. It is always considered as a time consuming activity.
13. Quality Assurance makes sure that you are doing the right things in the right way that is the reason it is always comes under the category of verification activity.
13. Quality Control makes sure that whatever we have done is as per the requirement means it is as per what we have expected, that is the reason it is comes under the category of validation activity.
14. QA is Pro-active means it identifies weaknesses in the processes.
14. QC is Reactive means it identifies the defects and also corrects the defects or bugs also.

Your turn

So this is all I know regarding Difference between QA and QC in Software Testing and if you know more differences on QA and QC than discuss your points in comment section. You can also give your useful opinion whether you like the post.

Top 11 Differences between Developer and Tester


Developer and Tester relation is like a relation between brother and sister like you know both brother and sister are necessary to a complete family, similarly Developer and Tester are also necessary to a complete successful project.

Here I am showing you the Difference between Developer and Tester in a complete order so that you learn the importance of both these person. I am writing the Differences in the form of table so that all of us can learn it easily and vastly.

Simple and Best Difference between Developer and Tester

          Software Developer
             Software Tester
1. A good developer is one who is technically sound.
1. Tester may or may not be technically sound, because we need both black box and white box testers and in black box testing programming knowledge is not necessarily must.
2. He is one who develops the application according to client or customer requirements.
2. He is one who tests the application by check whether the application is working as per the client and customer requirements or not.
3. He is one who is totally involved in the phases of development and he is also responsible to the development of code, and also writes the code to generate the needs of a particular software or application.
3. He is one who test the application by checking whether the code that is written by development team is appropriate or not, and they also test whether the code fulfills the requirements of that particular application and software or not.
4. Development is not further divided in to any.
4. Testing is further divided in to Verification and Validation Testing.
5. They always focus on how application or software can work.
5. They always focus on where application or software can goes wrong.
6. Good developers always understand the problems as soon as possible.
6. Good testers always report the problems as soon as possible.
7. Good developer is one who always has some knowledge of product internals.
7. Good tester is one who always has some domain knowledge, means they have some product and project knowledge.
8. Good Developers always model system design, means they build the application by keeping client requirements in mind.
8. Good testers always model user behavior, means they test the application or software by keeping end user in mind.
9. He is one who makes the software or application.
9. He is one who only tests the software or application.
10. Perfect developers are one who not only makes the best application, but they also give suggestions for further improving the application also.
10. Perfect testers are one who not only finds out the bugs in the application, but they also find out the root cause of the bug too.
11. His main aim is to make the application bug and error free.
11. His main aim is to find out many bugs as possible in the application, so that application can be fully reliable and quality oriented.

Keep in Mind

Please note that Developer is one who develops the application, and tester is one who tests the application, so they both are necessary for the completion of project and as well as to make the quality oriented and reliable product.

Are you Developer or Tester?

Are you good developer or a good tester, share your real experience in the comments section below so that others can learn from you and feel proud to choose development and testing as a career?