Q1 : Why is software testing necessary?
A : 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.
Q2 : What is the period of validity of ISTQB Certifications?
A : 1) ISTQB Certified Tester – Foundation Level Certificate (CTFL): Valid for whole Life.
2) ISTQB Certified Tester – Advanced Level Certificate (CTAL): Valid for whole Life.
Q3 : What is ISTQB?
A : ISTQB stands for “International Software Testing Qualifications Board”. It is Belgium based International body legallyestablished 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.
Q4 : Who provides the ISTQB Certification?
A : 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.
Q5 : What Test Techniques are there and what is their purpose?
A : Test Techniques are primarily used for two purposes: a) To help identify defects, b) To reduce the number of test cases.
1. EQUIVALENCE PARTITIONING is mainly used to reduce number of test cases by identifying different sets of data that are not the same and only executing one test from each set of data
2. BOUNDARY VALUE ANALYSIS is used to check the behaviour of the system at the boundaries of allowed data.
3. STATE TRANSITION TESTING is used to validate allowed and disallowed states and transitions from one state to another by various input data
4. Pair-wise or All Pairs Testing is a very powerful test technique and is mainly used to reduce the number of test cases while increasing the coverage of feature combinations.
Q6 : What is Adhoc Testing?
A : A testing phase where the tester tries to ‘break’ the system by randomly trying the system’s functionality. Can include negative testing as well. See also Monkey Testing.
Q7 : What is Accessibility Testing?
A : Verifying a product is accessible to the people having disabilities (deaf, blind, mentally disabled etc.).
Q8 : What is Bottom Up Testing?
A : An approach to integration testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.
Q9 : What is Exploratory Testing and when should it be performed?
A : 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 complimentary activity to automated regression testing.
Q10 : What Types of Testing is Specifically Important for Web Testing?
A : 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.
Q11 : What is Acceptance Testing?
A : Testing conducted to enable a user/customer to determine whether to accept a software product. Normally performed to validate the software meets a set of agreed acceptance criteria.
Q12 : What is Beta Testing?
A : Testing of a release of a software product conducted by customers.
Q13 : What is Application Programming Interface (API)?
A : A formalized set of software calls and routines that can be referenced by an application program in order to access supporting system or network services.
Q14 : What is Automated Testing?
A : Testing employing software tools which execute tests without manual intervention. Can be applied in GUI, performance, API, etc. testing. The use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions.
Q15 : What is Black Box Testing?
A : Testing based on an analysis of the specification of a piece of software without reference to its internal workings. The goal is to test how well the component conforms to the published requirements for the component.
Q16 : What are the different Test Levels?
A : -Component Testing
-Integration Testing
-System Testing
-Acceptance Testing
Q17 :What is Software Testing Techniques?A : 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 analysishelp to identify defects at boundaries.
Q18 : What are the Salient Features of the Foundation Level (CTFL) Exam?
A : It is a Knowledge Based Exam.
The aspirant need not have any prior experience.
No re-certification is required after some time, since the certificate remains valid for the whole life.
The Syllabus is very well structured & easy to understand.
This certification signifies that the:
-Aspirant is committed to the software testing as a profession
-Aspirant is very well conversant with various concepts and terminology of testing.
-Aspirant is able to use the specialized techniques like code coverage analysis, boundary values analysis & Equivalence partitioning etc.
Q19 : What are the different black box testing techniques?
A : -Equivalence Partitioning
-Boundary Value Analysis
-Decision Table Testing
-State Transition Testing
-Use Case Testing
Q20 : What is the difference between a Bug, Defect, Error, Failure, Fault and Mistake?
A : 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.
Q21 : How much testing is enough?
A : 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.
Q22 : How do you test the login feature of a web application?
A : -Sign in with valid login, Close browser and reopen and see whether you are still logged in or not.
-Session management is important – how do we keep track of logged in users, is it via cookies or web sessions?
-Sign in, then logout and then go back to the login page to see if you are truly logged out.
-Login, then go back to the same page, do you see the login screen again?
-Sign in from one browser, then open another browser to see if you need to sign in again?
-Login, change password, and then logout, then see if you can login again with the old password.
Q23 : What is Agile Testing?
A : Testing practice for projects using agile methodologies, treating development as the customer of testing and emphasizing a test-first design paradigm.
Q24 : What information should you include on a defect or bug report?
A : -Brief summary of the defect
-Full description of the defect including steps to reproduce
-Screenshot attachments if required
-Date the defect was found and raised
-Who reported the defect
-Severity and/or Priority of the defect
-Which component is the defect assigned
Q25 : What are the different Test Planning activities?
A : -Determining the scope and objectives of testing
-Defining the overall approach of testing, defining entry and exit criteria
-Making decisions about what to test and who will test which part of the application
-Scheduling test design sessions
-Assigning resources for different testing activities
-Deciding which tools to use for testing
-Reporting on the progress of testing
-Producing exit reports