Posted on | December 13, 2011 | 33 Comments
1. What is the difference between Quality Control and Quality Assurance?
Ans. Quality Assurance: A set of activities designed to ensure that the development and/or maintenance process is adequate to ensure a system will meet its objectives.
Quality assurance, is the systematic monitoring and evaluation of the various aspects of a project, service or facility to maximize the probability that standards of quality are being attained by the production process. QA cannot absolutely guarantee the production of quality products.
Two principles included in QA are: “Fit for purpose”, the product should be suitable for the intended purpose; and “Right first time”, mistakes should be eliminated. QA includes regulation of the quality raw materials, assemblies, products and components, services related to production, and management, production and inspection processes.
Quality is determined by the product users, clients or customers, not by society in general. It is not the same as ‘expensive’ or ‘high quality’. Low priced products can be considered as having high quality if the product users determine them as such
Quality Control: A set of activities designed to evaluate a developed work product.
Quality control, is a process by which entities review the quality of all factors involved in production. This approach places an emphasis on three aspects:
- Elements such as controls, job management, defined and well managed processes,performance and integrity criteria, and identification of records
- Competence, such as knowledge, skills, experience, and qualifications
- Soft elements, such as personnel integrity, confidence, organizational culture, motivation, team spirit, and quality relationships
2. What is the difference between severity and priority?
Ans. Severity and priority term are used in bug tracking system to share the importance of a bug among team and fix it.
“Priority” is associated with scheduling, and “severity” is associated with standards.
Priority: “Priority” means something is afforded or deserves prior attention; a precedence established by order of importance (or urgency).
Ex: if the button name is misspelled in the home page of a website, then the priority is high and the severity is low.
Severity: Severity is used to explain how badly bug is affecting the build.
Ex: 1. crash or anything that loses persistent data , i.e., messing up your files on disk.
2.Aspect of a feature that doesn’t work.
3. What is the difference between validation and varification?
Ans. Varification : The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.
Varification is the process of confirming that s/w “meets its specification”.It involves reviews and meetings to evaluate documents,plans,code,requirement and
specification.This can be done with checklist,issues lists and walkthroughs.
Validation: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.
Validation is the process of confirming that it “meets the user’s requirements”.Validation typically involves actual testing and take place after varification are completed.
5. What is Agile Testing?
Ans. Agile testing is dynamic approach for testing. In this testing requirement does not stable mean to say it keeps change according to customer so in this sitiation we need to use dynamic approach for testing and this approach called Agile testing.
Agile testing is built upon the philosophy that testers need to adapt to rapid deployment cycles and changes in testing patterns.
6. What is Ad-Hoc Testing?
Ans. Testing the application without planning and documentation. Test the application randomly.
7. What is Beta Testing?
Ans. . The beta testing is intended for external testing of the product in order to identify configurations that cause problems, as well as meets the requirements that guided its design and development, works as expected and can be implemented with the same characteristics. System/Application tested by end user.
8. What is Alpha Testing?
Ans. Alpha testing is done before the release of a product to check whether it is functioning properly or not. Testers and real customers combienly test the software at development site.
9. What is Regression Testing?
Regression testing is to ensure that the newly modified code still complies with its specified requirements and that unmodified code has not been affected by the maintenance activity and data are working properly with the existing software. The main aim is to fix the bugs and to make sure the problems are solved.
10. What is Smoke Testing?
Ans. Smoke Testing is performed after software build to ascertain that the critical functionalities of the program is working fine. It is executed before any detailed functional or regression tests are executed on the software build.The purpose is to reject a badly broken application, so that the QA team does not waste time installing and testing the software application.
11. What is Test Plan? How to develop test plan?
Ans. A test plan documents the strategy that will be used to verify and ensure that a product or system meets its design specifications and other requirements. A test plan is usually prepared by or with significant input from Test Engineer.
Process of Developing Test Plan : Please click on link: How to develop Test Plan?
12. What is Bug?
Ans. Bug means a fault in a program which causes the program to perform in an unintended or unanticipated manner.
13. What is Defect?
Ans. Defect means if software misses some feature or function from what is there in SRS (System Required Specification)t it is called as defect.
14. What is Test Case?
Ans. A test case is defined as a set of variables or conditions used to determine the proper functionality of a software application or system. Test cases typically describe inputs, actions/events, and the expected response(s). The main purpose of writing test cases is to verify the testing coverage of the software. Because of this, several test cases may be necessary to prove that a piece of software is functioning properly.
Test Case Format: Test Script ID, Description, Date, Tester, Related Requirement, URL, Category -This Information will be on Header Part of any Test scripts. Test Case column Test Step ID, Precondition, Test condition/ Step, Expected Result, Actual Result, Pass/Fail Status, Comment/ Remark.
15. What are the different step in software Testing Life Cycle?
Ans. Following step are used in Testing Life Cycle:
1. Reuirements understanding / Clarification
2. Use Case writing / understanding
3. Test Strategy
4. Test Case writing
5. Getting the test cases reviewed by Business Analysts / Developers
6. Start actual testing
7. Report issues
8. Follow up with Business Analysts /Management – on if a particular issue needs to be fixed.
9. Defer issues to next release if not so high Priority ones
10. Close issues after getting fixed, if appropriate
11. Regression testing
16. What is the different between automation and manual testing?
- Automation saves time and resources.
- Latest trend,one time effort
- Reduces the testing budget.
- Manual testing is driven manually by testers i.e. by executing the whole testing flow.
- Takes time and cost as it requires more resources comparably.
- Has a very good coverage.
- Preferable for huge applications, that have many settings or configurations.
17.What is the difference between error, bug and defect?
Error: It is an undesirable deviation from requirements.like mistake in syntax error.
Bug: It is an error found BEFORE the application goes into production.developer accept the tester defect is called bug.
Defect: It is an error found AFTER the application goes into production.Tester found the error is called defect.
18. What is the different between Load and Stress testing?
Ans. Stress Testing: Stress testing tries to break the system under test by overwhelming its resources or by taking resources away from it (in which case it is sometimes called negative testing). The main purpose behind this madness is to make sure that the system fails and recovers gracefully — this quality is known as recoverability.
Load Testing: The goal of performance testing is not to find bugs, but to eliminate bottlenecks and establish a baseline for future regression testing. To conduct performance testing is to engage in a carefully controlled process of measurement and analysis. Ideally, the software under test is already stable enough so that this process can proceed smoothly.
19. How many type of testing used in Software Development Life Cycle?
Stand Alone Testing:
Proof of Concept Testing ( POC Testing )
Functional Testing / Functionality Testing
User Interface Testing
Error exit Testing
Help Information Testing
Black Box Testing
White Box Testing
Disaster Recovery Testing
User Acceptance Testing ( UAT )
Free Fall Testing
Equivalence class partitioning
Boundary Value Analysis
Compatibility Testing / Data Migration
20. When you say that Product/Application completely Tested?
Ans. It is idealistic to say that a product is tested completely. However we can ensure that a product is bug free to the best of our knowledge and is hassle free when used by the customer. To say that a product is tested completely it needs to undergo different types of testing like – sanity , functional, regression , performance , security , ad-hoc , compatibility etc. By using these testing techniques a we can ensure that the product is usable and meets the customer’s criteria.
21. Explain System Testing Process:
- Test Plan
- Create Master Test Plan (MTP) – Done by Test manager or Test Lead.
- Create Detail Test Plan (What to Test?) – Done by Tester : This will contain test scenarios also known as test conditions.
- Create Detail Test Case(DTS) = Done by Tester : Who to test?
- Execute Test Cases
- Regress and Analyse
22. Explain Detailed Test Plan(DTP):
Ans: Configuratin – Check all parts for existence
Security – How the safety measures work
Functionality – As per Requirements.
Performance – With more user and more Data
Environment - Keep product same but other settings different
23. Explain Detailed Test Case(DTS):
Ans: The test cases will have a generic format as below
- Test Case ID
- Test Case Description
- Test Prerequisite
- Test Inputs
- Test Steps
- Expected Results
- Simple Functionality – Field Level
- Communicative Functionality – Data on one screen goes to another.
- End to End Test Cases – Full Sequence as through the end user carry out.
24. How to set-up Test Environment?
Ans: There must be no development tools installed in a test bed
- Ensure the right OS and service pack installed.
- Ensure the disks have enough space for the application
- Carry out a virus check if needed.
- Ensure the integrity of the web server
- Ensure the integrity of the database server.
25. Explain Actual Test Execution:
Ans. Install Tests
- Auto install in default mode
- Does the installer Check for the prerequisites?
- Does the installer check for the system user privileges?
- Does the installer check for disk and memory space?
- Does the installer check for the license agreement?
- Does the installer check for the right product key?
- Does the installer in the default path?
- Does we have different install types like custom, full or compact?
- Once install complete, start the application.
- Move to every possible screen using menus, tool bar icons, shout cut keys, link etc.
- Move back and forth from various screens to other forms in ad hoc.
- Exit the application & restart the application many times.
26. Explain Data Preparation:
Ans: The data can be identified either at the time of writing the test case itself or just before execution the test cases.
- Data that are very much static can be identified while writing the test case itself.
- Data which are dynamic and configurable need more analysis before preparation.
- Preparation of test data depends upon the functionality that is being tested.
27. Explain Core Functional Test?
Ans: Build Verification Tests (BVT): A set of test scenarious/cases must be identified as critical priority, such that, if there tests do not work, the product priority, such that, if there tests do not work, the product does not ger acceptance from the test team.
Build Acceptance Tests (BAT): This starts once the BVT is done. This involves feeding the values to the program as per the test input and then performing the other actions (Like, clicking specific buttons of function key etc) in teh sequence as given in the test.
28: Basic question of Testing:
Ans: 1. Why to test? : Testing becomes absolutely essential to make sure the software work properly and does the work that it is menant to perform.
2. What to test? : Any working product forms part of the software application has to be tested. Both Data & program must be tested.
3. How often to test? : When a prog is modified or newly developed . It has to be tested.
4. Who tests? : Programmer, Tester and Customer.
29. Explain Software Development Life Cycle Model?
Ans: As software is always of a large system (or business), work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when software must interface with other elements such as hardware, people and other resources. System is the basic and very critical requirement for the existence of software in any entity. So if the system is not in place, the system should be engineered and put in place. In some cases, to extract the maximum output, the system should be re-engineered and spruced up. Once the ideal system is engineered or tuned, the development team studies the software requirement for the system.
Required for proposal, Negotiaton, Letter fo Intent,Defining a preferred concept for the software product and determining its life-cycle feasibility and superiority to alternative concepts, Ensure that everything is correct before singing contract .
A complete, verified specification of the required functions, interfaces, and performance for the softwareproduct.
A complete verified specification of the overall hardware-software architecture, control structure, and data structure for the product, along with such other necessary components as draft user’s manuals and test plans.
A complete verified specification of the control structure, data structure, interface relations, sizing, key algorithms and assumptions of each program component.
A complete, verified set of program components. A proper functional software product composed of the software components.
A fully functioning operational hardware-software system, including such objectives as program and data conversion, installation and training.
A fully functioning update of the hardware-software system repeated for each update.
30. What is bug life cycle?
Defect life cycle starts at the point whenever we found any bug and verified that this error in software is bug. Just like every things life cycle this bug also have life cycle which start with the status of New as we found this new bug in software then it goes to other stage of cycle its open means its verified that its a bug and send in open status to developers or developers TL to further verify that this is bug, they found it bug then sent to new stage its assigned to developer or who ever is there to fix it then when ever it clear that bug is fixed it goes to fix status and send back to tester for verification tester check it and found it that now its fixed he closed it and the life cycle of bug is completed.
The bug life cycle have 5 major status points -
(in between there are few many other sub status like – verify, rejected,
deferred, valid, invalid etc.).
31.What are the key challenges of testing?
Ans. Following are some challenges while testing software
1.Requirements are not freezed.
2.Application is not testable.
4.Defect in defect tracking system
5.Miscommunication or no Communication
6.Bug in software development tools.
32. Explain Testing Methods?
1. White Box
Also called ?Structural Testing / Glass Box Testing? is used for testing the code keeping the system specs in mind. Inner working is considered and thus Developers Test..
* Mutation Testing
Number of mutants of the same program created with minor changes and none of their result should coincide with that of the result of the original program given same test case.
* Basic Path Testing
Testing is done based on Flow graph notation, uses Cyclometric complexity & Graph matrices.
* Control Structure Testing
The Flow of control execution path is considered for testing. It does also checks :-
Conditional Testing : Branch Testing, Domain Testing.
Data Flow Testing.
Loop testing :Simple, Nested, Conditional, Unstructured Loops.
2. Gray Box
3. Black Box
Also called ?Functional Testing? as it concentrates on testing of the functionality rather than the internal details of code.
Test cases are designed based on the task descriptions
* Comparison Testing
Test cases results are compared with the results of the test Oracle.
* Graph Based Testing
Cause and effect graphs are generated and cyclometric complexity considered in using the test cases.
* Boundary Value Testing
Boundary values of the Equivalence classes are considered and tested as they generally fail in Equivalence class testing.
* Equivalence class Testing
Test inputs are classified into Equivalence classes such that one input check validates all the input values in that class.
Gray Box Testing : Similar to Black box but the test cases, risk assessments, and test methods involved in gray box testing are developed based on the knowledge of the internal data and flow structures
33. On what basis the planned testing effort is calculated for the entire project?
The Planned testing efforts can be calculated with 3 different techniques.
1. Function Point Analysis
2. Testing Point Analysis
3. Project dead line
34.what is traceability matrix?
A traceability matrix is used to trace a requirement to the test that are need to verify that the requirements are fulfilled. To make sure that the approval requirements are covered in all phases of development. SRS -> Development ->Testing->Delivery.
35. What is Software Development V-Model?
Many of the process models currently used can be more generally connected by the V-model where the “V” describes the graphical arrangement of the individual phases. The “V” is also a synonym for verification and validation.
The model is very simple and easy to understand. By the ordering of activities in time sequence and with abstraction levels the connection between development and test activities becomes clear. Oppositely laying activities complement one another i.e. serve as a base for test activities. So, for example, the system test is carried out on the basis of the results specification phase. The coarse view of the model gives the impressionthat the test activities first start after the implementation. However, in the description of the individual activities the preparatory work is usually listed. So, for example, the test plan and test strategy should be worked out immediately after the definition of the requirements. Nevertheless it can contribute very well to the structuring of the software development process.
The disadvantage of the model is the coarse division into constructive work (including the implementation) on the left-hand side of the “V” and the more destructive tasks on the right-hand side. Here also the impression may develop that, after the implementation phase, a ready product can be delivered. A planned-in removal of defects and regression test is not given.
36. What is waterfall model?
The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff and has begun its journey down the side of the mountain, it cannot turn back. It is the same with waterfall development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back.
The advantage of waterfall development is that it allows for departmentalization and managerial control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a carwash, and theoretically, be delivered on time. Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order, without any overlapping or iterative steps.
The disadvantage of waterfall development is that it does not allow for much reflection or revision. Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.
37. Explain Advantage and Disadvantage of waterfall model:
- It is the simplest software process model in terms of complexity and ease of implementation. As I said before, it is nothing but common sense.
- This model is extremely easy to understand and therefore, is implemented at various project management levels and in a number of fields (not just software development).
- It employs a systematic, orthodox method of project development and delivery.
- Since it is not an iterative model, it has its fair share of shortcomings and drawbacks.
- Being a strictly sequential model, jumping back and forth between two or more phases is not possible. The next phase can be reached only after the previous one has been completed.
- Due to this, bugs and errors in the code cannot be discovered until and unless the testing phase is reached. This can lead to a lot of wastage of time and other precious resources.
- This process model is not suitable for projects wherein the project requirements are dynamic or constantly changing.
38. What is White Box Testing?
Ans. White box testing done by developer. White box testing required good knowledge of coding. Test the internal structure of the programing and justifies whether that program is correct or not. White box testing also known as clear box testing, glass box testing, transparent box testing, and structural testing
39. What is Black Box Testing?
Ans: Black box testing is done by the professional testing team. This does not require knowledge of internal coding of the application. Testing the application against the functionality of the application without the knowledge of internal coding of the software
40. What is Testing Strategy?
A Test Strategy document is a high level document and normally developed by project manager. This document defines “Testing Approach” to achieve testing objectives. The Test Strategy is normally derived from the Business Requirement Specification document.
The Test Stategy document is a static document meaning that it is not updated too often. It sets the standards for testing processes and activities and other documents such as the Test Plan draws its contents from those standards set in the Test Strategy Document.
Some companies include the “Test Approach” or “Strategy” inside the Test Plan, which is fine and it is usually the case for small projects. However, for larger projects, there is one Test Strategy document and different number of Test Plans for each phase or level of testing.
Components of the Test Strategy document
- Scope and Objectives
- Business issues
- Roles and responsibilities
- Communication and status reporting
- Test deliverability
- Industry standards to follow
- Test automation and tools
- Testing measurements and metrices
- Risks and mitigation
- Defect reporting and tracking
- Change and configuration management
- Training plan
41. What is Test Plan?
Ans. The Test Plan document on the other hand, is derived from the Product Description, Software Requirement Specification SRS, or Use Case Documents.
The Test Plan document is usually prepared by the Test Lead or Test Manager and the focus of the document is to describe what to test, how to test, when to test and who will do what test.
It is not uncommon to have one Master Test Plan which is a common document for the test phases and each test phase have their own Test Plan documents.
There is much debate, as to whether the Test Plan document should also be a static document like the Test Strategy document mentioned above or should it be updated every often to reflect changes according to the direction of the project and activities.
My own personal view is that when a testing phase starts and the Test Manager is “controlling” the activities, the test plan should be updated to reflect any deviation from the original plan. After all, Planning and Control are continuous activities in the formal test process.
- Test Plan id
- Test items
- Features to be tested
- Features not to be tested
- Test techniques
- Testing tasks
- Suspension criteria
- Features pass or fail criteria
- Test environment (Entry criteria, Exit criteria)
- Test deliverable
- Staff and training needs
This is a standard approach to prepare test plan and test strategy documents, but things can vary company-to-company
42. What is Bucket Testing?
Ans. Bucket testing is a methodology for gauging the impact of different product designs on a Web site’s metrics.
43. Explain Unit Testing, Interface Testing and Integration Testing :
Ans. Unit testing is done to check whether the individual module of the source code is working properly. Testing each and every unit separately by the Developers enviroment.
Interface testing is done to check whether the individual modules communicating properly one among other as per the specification.
Integration Testing is done to check the connectivity by combining all the individual modules together and test the functionality.
44. What is Gamma Testing?
Ans. Gamma Testing is done when the software is ready for releasing with specific requirements, this testing is done directly by skipping all the in-house testing activities.
45. What is Scalability Testing?
Ans. Scalability testing is used to check whether the functionality performance of a system are capable to meet the volume and size change as per requirements.
Scalability testing can be done using load testing with various software and hardware configuration changed where the testing environment setting unchanged.
46. What is the major activity done in Database Testing?
Ans. No of activity include in database testing as folow,
Checking the data validity,
Checking the data integrity,
Checking performance Related to database,
Checking the security Aspect. As aspect checking database, devises, table, fields, constrains, defaults, keys and indexes, stored Procedure and packages, error message, triggers, schema comparisons.
47. What is Fuzz Testing?
Ans. Fuzz testing is a black box testing technique which use random bad data to attach a program and see what break in application.
Fuzz testing mostly used to,
- Set up a correct file to enter your program
- Restore some part of the file by using random data.
- Unlock the file with program
- Observe what breaks.
Fuzz testing can be automated for maximum effect on large application. This testing improve confidence that the application safe and secure.
48. Explain peer review process in software testing:
Ans. It is an alternative form of testing, where some colleagues were invited to examine your work product for defect and improvement opportunities.
49. What is AUT?
Ans. AUT is nothing but “Application Under Test”. After the designing and coding phase in software development life cycle, the application comes for testing then at the time the application is started as application under test.
50. What is the difference between bug, error and defect?
Ans. Bug: It is found in development environment before product is shipped to the respective costumer.
Error: It is the deviation between expected and actual result.
Defect: It is found in the product itself after it is shipped to the respective costumer.
51. What is the difference between structure and functional testing?
Ans. Structure Testing: is a “White Box” testing and it is based on algorithm and code.
Functional Testing: is a “Black box” testing where the tester where the tester verifies the functional requirements.
52. What is the difference between Re-test and Regression Testing?
Ans. Re-test: Retesting means we testing only certain part of an application again and not considering how it will effect in the other part of whole application.
Regression Testing: Testing the application after the change in a module or part of the application for testing that is the code change will effect rest of the application.