InterviewSolution
This section includes InterviewSolutions, each offering curated multiple-choice questions to sharpen your knowledge and support exam preparation. Choose a topic below to get started.
| 1. |
What Is The Fundamental Test Process? |
| Answer» | |
| 2. |
What Are The Seven Testing Principles? |
Answer»
|
|
| 3. |
Why Is Testing Necessary? Give Examples Where A Defect In Software Can Cause Harm To Human Life, Environment Or Business. |
|
Answer» Testing is necessary in order to identify any defects that are present in software which can cause HARM. WITHOUT proper testing, we could potentially release a software which could malfunction and cause serious injuries. Examples can be:
Testing is necessary in order to identify any defects that are present in software which can cause harm. Without proper testing, we could potentially release a software which could malfunction and cause serious injuries. Examples can be: |
|
| 4. |
What Are The Salient Features Of The Foundation Level (ctfl) Exam? |
Answer»
This certification signifies that the:
This certification signifies that the: |
|
| 5. |
What Are The Advantages Of Istqb Certifications? |
Answer»
|
|
| 6. |
Why There Are Bugs In Software? |
|
Answer» Miscommunication or no communication: Quite often, the requirements from the business is not communicated to the development team. Product OWNERS have an idea of what the feature should look like and how it should behave, but if not communicated properly to developers and testers, the finished product might not be as expected. The requirements should be communicated clearly to all stakeholders so everyone has the same understanding. Software complexity: The complexity of current software APPLICATIONS can be difficult to comprehend for anyone without experience in modern-day software development. Multi-tiered applications, client-server and distributed applications, data communications, enormous relational databases, and SHEER size of applications have all contributed to the exponential growth in software/system complexity. programming errors – programmers, like anyone else, can make mistakes. Changing requirements: The end-user may not understand the effects of changes, or may understand and request them anyway – redesign, rescheduling of engineers, effects on other projects, WORK already completed that may have to be redone or thrown out, hardware requirements that may be affected, etc. If there are many minor changes or any major changes, known and unknown dependencies among parts of the project are likely to interact and cause problems, and the complexity of coordinating changes may result in errors. Enthusiasm of engineering staff may be affected. In some fast-changing business environments, continuously modified requirements may be a fact of life. In this case, management must understand the resulting risks, and QA and test engineers must adapt and plan for continuous extensive testing to keep the inevitable bugs from running out of control. Poorly documented code: It’s tough to maintain and modify code that is badly written or poorly documented; the result is bugs. In many organizations management provides no incentive for programmers to document their code or write clear, understandable, maintainable code. In fact, it’s usually the OPPOSITE: they get points mostly for quickly turning out code, and there’s job security if nobody else can understand it (‘if it was hard to write, it should be hard to read’). Software development tools: Visual tools, class libraries, compilers, scripting tools, etc. often introduce their own bugs or are poorly documented, resulting in added bugs. Miscommunication or no communication: Quite often, the requirements from the business is not communicated to the development team. Product owners have an idea of what the feature should look like and how it should behave, but if not communicated properly to developers and testers, the finished product might not be as expected. The requirements should be communicated clearly to all stakeholders so everyone has the same understanding. Software complexity: The complexity of current software applications can be difficult to comprehend for anyone without experience in modern-day software development. Multi-tiered applications, client-server and distributed applications, data communications, enormous relational databases, and sheer size of applications have all contributed to the exponential growth in software/system complexity. programming errors – programmers, like anyone else, can make mistakes. Changing requirements: The end-user may not understand the effects of changes, or may understand and request them anyway – redesign, rescheduling of engineers, effects on other projects, work already completed that may have to be redone or thrown out, hardware requirements that may be affected, etc. If there are many minor changes or any major changes, known and unknown dependencies among parts of the project are likely to interact and cause problems, and the complexity of coordinating changes may result in errors. Enthusiasm of engineering staff may be affected. In some fast-changing business environments, continuously modified requirements may be a fact of life. In this case, management must understand the resulting risks, and QA and test engineers must adapt and plan for continuous extensive testing to keep the inevitable bugs from running out of control. Poorly documented code: It’s tough to maintain and modify code that is badly written or poorly documented; the result is bugs. In many organizations management provides no incentive for programmers to document their code or write clear, understandable, maintainable code. In fact, it’s usually the opposite: they get points mostly for quickly turning out code, and there’s job security if nobody else can understand it (‘if it was hard to write, it should be hard to read’). Software development tools: Visual tools, class libraries, compilers, scripting tools, etc. often introduce their own bugs or are poorly documented, resulting in added bugs. |
|
| 7. |
What Is Software Testing Techniques? |
|
Answer» The main purpose of a Test Technique is to help identify DEFECTS and reduce large number of combinations. Testing everything is not possible, because there are large number of test cases that can be executed against a GIVEN application. Test techniques such as equivalence PARTITIONING and pairwise testing reduce PERMUTATIONS, while boundary value analysis help to identify defects at boundaries. The main purpose of a Test Technique is to help identify defects and reduce large number of combinations. Testing everything is not possible, because there are large number of test cases that can be executed against a given application. Test techniques such as equivalence partitioning and pairwise testing reduce permutations, while boundary value analysis help to identify defects at boundaries. |
|
| 8. |
Types Of Software Testing? |
|
Answer» Software Testing can be divided into two parts: Black box testing which is high level and does not take into account the internal workings of the software, i.e. the tester doesn’t need to know how each individual components INTERACT with each other. White box testing which TESTS at very LOW levels, e.g. functions within a class or COMPONENT integration. System Testing is an example of a Black Box Testing, and Unit Testing is an example of white box testing. Software Testing can be divided into two parts: Black box testing which is high level and does not take into account the internal workings of the software, i.e. the tester doesn’t need to know how each individual components interact with each other. White box testing which tests at very low levels, e.g. functions within a class or component integration. System Testing is an example of a Black Box Testing, and Unit Testing is an example of white box testing. |
|
| 9. |
What Information Should You Include On A Defect Or Bug Report? |
| Answer» | |
| 10. |
What Are The Different Test Planning Activities? |
Answer»
|
|
| 11. |
What Are The Different Black Box Testing Techniques? |
Answer»
|
|
| 12. |
What Are The Different Test Levels? |
Answer»
|
|
| 13. |
What Are Errors, Faults And Failures? |
|
Answer» An error is a human action PRODUCING an incorrect result. The error is the activity undertaken by an analyst, designer, developer, or tester whose outcome is a fault in the DELIVERABLE being produced. When programmers make ERRORS, they introduce faults to program code. We USUALLY think of programmers when we mention errors, but any person INVOLVED in the development activities can make the error, which injects a fault into a deliverable. An error is a human action producing an incorrect result. The error is the activity undertaken by an analyst, designer, developer, or tester whose outcome is a fault in the deliverable being produced. When programmers make errors, they introduce faults to program code. We usually think of programmers when we mention errors, but any person involved in the development activities can make the error, which injects a fault into a deliverable. |
|
| 14. |
Why Is Software Testing Necessary? |
|
Answer» Software Testing is necessary because the existence of faults in software is inevitable. BEYOND fault-detection, the modern VIEW of testing holds that fault-prevention (e.g. EARLY fault detection/removal from requirements, designs ETC. through static tests) is at least as IMPORTANT as detecting faults in software by executing dynamic tests. Software Testing is necessary because the existence of faults in software is inevitable. Beyond fault-detection, the modern view of testing holds that fault-prevention (e.g. early fault detection/removal from requirements, designs etc. through static tests) is at least as important as detecting faults in software by executing dynamic tests. |
|
| 15. |
What Is The Difference Between A Bug, Defect, Error, Failure, Fault And Mistake? |
|
Answer» Error and Mistake are the same thing. Bug, DEFECT and Fault are the same thing. In general, a human being can make a mistake (error) which produces a defect (bug, fault) in a SOFTWARE application which may cause a failure. Defects occur because human beings are PRONE to make mistakes, also a software application can be very complex so the integration of different components can cause odd behaviours. Error and Mistake are the same thing. Bug, Defect and Fault are the same thing. In general, a human being can make a mistake (error) which produces a defect (bug, fault) in a software application which may cause a failure. Defects occur because human beings are prone to make mistakes, also a software application can be very complex so the integration of different components can cause odd behaviours. |
|
| 16. |
How Much Testing Is Enough? |
|
Answer» There is no DEFINITIVE answer to this question. Testing is not absolute and has no limits. However, we can use risk metrics (risk based testing) to IDENTIFY the likely scenarios that can cause the most harm or the sections of the software that is mostly used so that we focus our time and effort to the sections that are most IMPORTANT. Testing should provide enough information about the status or health of an application, so the STAKEHOLDERS can make INFORMED decision on whether to release the software or spend more time on testing. There is no definitive answer to this question. Testing is not absolute and has no limits. However, we can use risk metrics (risk based testing) to identify the likely scenarios that can cause the most harm or the sections of the software that is mostly used so that we focus our time and effort to the sections that are most important. Testing should provide enough information about the status or health of an application, so the stakeholders can make informed decision on whether to release the software or spend more time on testing. |
|
| 17. |
What Types Of Testing Is Specifically Important For Web Testing? |
|
Answer» Two types of testing which are very important for testing web APPLICATIONS are Performance Testing and SECURITY Testing. The difference between a web application and desktop application, is that web applications are open to the world, with potentially many USERS accessing the application simultaneously at various times, so load testing and STRESS testing are important. Web applications are also vulnerable to all forms of attacks, mostly DDOS, so security testing is also very important to consider when testing web applications. Two types of testing which are very important for testing web applications are Performance Testing and Security Testing. The difference between a web application and desktop application, is that web applications are open to the world, with potentially many users accessing the application simultaneously at various times, so load testing and stress testing are important. Web applications are also vulnerable to all forms of attacks, mostly DDOS, so security testing is also very important to consider when testing web applications. |
|
| 18. |
How Do You Test The Login Feature Of A Web Application? |
Answer»
|
|
| 19. |
What Test Techniques Are There And What Is Their Purpose? |
|
Answer» TEST Techniques are primarily used for two purposes: a) To help identify defects,
Test Techniques are primarily used for two purposes: a) To help identify defects, |
|
| 20. |
What Is Exploratory Testing And When Should It Be Performed? |
|
Answer» The DEFINITION of Exploratory Testing is “simultaneous test design and execution” against an APPLICATION. This means that the tester uses her domain knowledge and testing experience to predict where and under what conditions the system might behave unexpectedly. As the tester STARTS exploring the system, new test design ideas are thought of on the fly and executed against the software under test. On an exploratory testing session, the tester executes a chain of actions against the system, each action depends on the result of the previous action, hence the outcome of the result of the actions could influence what the tester does NEXT, therefore the test sessions are not identical. This is in contrast to Scripted Testing where tests are designed beforehand using the requirements or design documents, usually before the system is ready and execute those exact same steps against the system in another time. Exploratory Testing is usually performed as the product is evolving (agile) or as a final check before the software is released. It is a complementary ACTIVITY to automated regression testing. The definition of Exploratory Testing is “simultaneous test design and execution” against an application. This means that the tester uses her domain knowledge and testing experience to predict where and under what conditions the system might behave unexpectedly. As the tester starts exploring the system, new test design ideas are thought of on the fly and executed against the software under test. On an exploratory testing session, the tester executes a chain of actions against the system, each action depends on the result of the previous action, hence the outcome of the result of the actions could influence what the tester does next, therefore the test sessions are not identical. This is in contrast to Scripted Testing where tests are designed beforehand using the requirements or design documents, usually before the system is ready and execute those exact same steps against the system in another time. Exploratory Testing is usually performed as the product is evolving (agile) or as a final check before the software is released. It is a complementary activity to automated regression testing. |
|
| 21. |
What Is The Period Of Validity Of Istqb Certifications? |
|
Answer» 1) ISTQB CERTIFIED Tester – Foundation LEVEL Certificate (CTFL): Valid for whole Life. 2) ISTQB Certified Tester – Advanced Level Certificate (CTAL): Valid for whole Life. 1) ISTQB Certified Tester – Foundation Level Certificate (CTFL): Valid for whole Life. 2) ISTQB Certified Tester – Advanced Level Certificate (CTAL): Valid for whole Life. |
|
| 22. |
Who Provides The Istqb Certification? |
|
Answer» Almost all-major countries are the member of the PARENT body i.e. ISTQB. These member countries have their local Software Testing Qualification Boards. These local boards provide their inputs to the SYLLABUS and question papers for various exams including the process of examination. Such boards conduct the exams strictly in accordance with the common syllabus DEFINED by ISTQB & provide necessary CERTIFICATION. In India, ITB (Indian Testing Board) is the ISTQB approved national board & provides the “ISTQB CERTIFIED Tester” Certification in India. Almost all-major countries are the member of the parent body i.e. ISTQB. These member countries have their local Software Testing Qualification Boards. These local boards provide their inputs to the syllabus and question papers for various exams including the process of examination. Such boards conduct the exams strictly in accordance with the common syllabus defined by ISTQB & provide necessary certification. In India, ITB (Indian Testing Board) is the ISTQB approved national board & provides the “ISTQB Certified Tester” Certification in India. |
|
| 23. |
What Is Istqb? |
|
Answer» ISTQB stands for “International Software Testing Qualifications Board”. It is Belgium based International body legally established in the year 2002. Software testing professionals from all over the WORLD joined hands in formulating standardized contents for further EDUCATION in the field of Software Testing. It is a multiple-choice exam & is an education program offered in 38 countries. ISTQB stands for “International Software Testing Qualifications Board”. It is Belgium based International body legally established in the year 2002. Software testing professionals from all over the world joined hands in formulating standardized contents for further education in the field of Software Testing. It is a multiple-choice exam & is an education program offered in 38 countries. |
|