1. How to perform integration testing in Quality Engineering?
Integration testing is black box testing. Integration testing focuses on the interfaces between units, to make sure the units work together. For integration testing we ensure that all units testing of the each component is performed earlier. Integration testing begins only after the unit testing. The purpose of integration testing is to ensure different components of the application interact with each other. So that, components work as per the customer requirements. Test cases are developed with the purpose of exercising the interfaces between the components. Integration testing is considered complete, when actual results and expected results are same.
2. How to perform regression testing performed manually in Quality Engineering?
We can perform regression testing manually, but it requires lots of effort. To choose the way of doing the regression testing is totally depends on the initial testing approach. If the initial testing approach was manual testing, then the regression testing is usually performed manually. In case, if the initial testing approach was automated testing, then the regression testing is usually performed by automated testing. Automated regression testing is very easy task.
3. How to prepares the Test Plan without SRS in Quality Engineering?
To prepare a test plan directly without having SRS, When the Requirements and URD(User Requirement Document )are available to us. URD is very helpful to determine the requirement of the user. The SRS document only contains the requirement of the user, but tester can also determine the requirement form the product. Without having SRS document we cannot estimate the Testing effort and cost of testing if we do not have SRS. SRS tell us on which platform our software is going to be used and on basis of this we perform the test on the application. Some time end user want to know what type of testing we are going to execute on the application for this we can send our test plan to the client.
4. Can you please explain the difference between responsibilities of Programmers and QA analyst?
★ QA is concern for Process Quality and Programmers are concern for Product Quality.
★ QA ensure that the processes used for developing the product of high quality where as programmers used these processes so that end product is of good quality.
★ Processes are decided by QA. Programmers are supposed to follow the processes so that they can produce a good quality product.
★ Any issue found during execution of process by the programmers is communicated to the QA so that they can improve the process.
5. Which tools can used to support testing during development of application?
★ Test management tools example: Quality Center, JIRA.
★ Defect management tool example: Bugzilla, Test Director.
★ Project management: Sharepoint.
★ Automation tools: QTP, RFT, WinRunner.
6. Which testing activities are automated in Quality Engineering?
★ Functional tests:
Identify some P1 and P2 cases which are most critical for project success and operations and automate them. After every new build, these scripts will assure the fixes does not broke any of the critical functionality.
★ Regression test suites:
Test the need to be run after each build.
★ Performance tests:
Identical test the need to be run on different browser.
★ Stress tests
★ Load tests
7. List the main attributes of test automation in Quality Engineering?
Maintainability:
For each new release need to update the test automation suites.
Reliability:
Accuracy and repeat-ability of the test automation.
Flexibility:
Ease of working with all the different kinds of automation test ware.
Efficiency:
Total cost related to the effort needed for the automation.
Portability:
Ability of the automated test to run on different environments.
Robustness:
Effectiveness of automation on an unstable or rapidly changing system.
Usability:
Extent to which automation can be used by different types of user.
8. Which things may be go wrong in test automation?
★ Ignoring automation, while planning the development phases.
★ In design Phase not choosing the right technology.
★ In coding Phase not automating the right test cases.
★ Tool selection might go wrong.
★ Test script not be updated when application is continuously changing.
★ Test data should be unique, if the same data is available on the application then the application will not accept the data that we are going to add via automation.
9. List the testing life-cycle phases?
★ Test Planning (Test Strategy, Test Plan, Test Bed Creation)
★ Test Development (Test Procedures, Test Scenarios, Test Cases)
★ Test Execution
★ Result Analysis (compare Expected to Actual results)
★ Defect Tracking
★ Reporting
10. Define good code in Quality Engineering?
A code that works. The good code must not contain the defect or bug and is readable by other developers and easily maintainable. Organizations have coding standards all developers should follow, and also every programmer and software engineer has different ideas about what is best and what are too many or too few rules. We need to keep in mind that excessive use of rules can decrease both productivity and creativity. Peer reviews and code analysis tools can be used to check for problems and enforce standards.
11. Which tests are performed on the web based application in Quality Engineering?
For web application we perform following time of test:
1) Functionality Testing.
2) Usability Testing.
3) Navigation Testing.
4) Configuration and Compatibility testing.
5) Reliability and Availability Testing.
6) Performance Testing.
7) Load and Stress Testing.
8) Security Testing
12. List the purposes of test strategy in Quality Engineering?
1) To have a signed, sealed, and delivered document, where the document contains details about the testing methodology, test plan, and test cases.
2) Test strategy document tells us how the software product will be tested.
3) Test strategy document helps to review the test plan with the project team members.
4) It describes the roles, responsibilities and the resources required for the test and schedule.
5) When we create a test strategy document, we have to put into writing any testing issues requiring resolution.
6) The test strategy is decided first, before lower level decisions are made on the test plan, test design, and other testing issues.
13. How to choose which defect to remove in 1000000 defects in Quality Engineering?
First thing testers are not responsible for fixing the bug they are only responsible for debugging the bug and prioritizing those bugs. These bugs are now reported in bug report template with the severity and priority of the bug. Tester assigns severity level to the defects depending upon their impact on other parts of application. Every bug has its severity and priority values assign by tester. If a defect does not allow you to go ahead and test the product, it is critical one so it has to be fixed as soon as possible. We have 5 levels as:
★ Critical
★ High
★ Medium
★ Low
★ Cosmetic
14. Tell me how to create requirements test matrix template in Quality Engineering?
Step 1:
Find out number of requirements.
Step 2:
Find out number of test cases.
Step 3:
Create a table based on these. Let we have 10 requirements and 40 test cases, then we create a table of 11 rows and 41 columns.
Step 4:
On the first column of table copy all your 10 requirement numbers, and paste them into rows 2 through 11 of the table.
Step 5:
Now copy all 40 test case numbers, and paste them into columns 2 through 41 of the table.
Step 6:
Examine each of your 40 test cases, determine which of the 10 requirements they satisfy.
15. What is Time Estimation method for Testing Process in Quality Engineering?
Step 1:
Count number of use cases (NUC) of system
Step 2:
Set Avg. Time Test Cases(ATTC) as per test plan
Step 3:
Estimate total number of test cases (NTC)
Total number of test cases = Number of Use Cases X Avg. Test Cases per a use case
Step 4:
Set Avg. Execution Time (AET) per a test case
Step 5:
Calculate Total Execution Time (TET)
TET = Total number of test cases * AET
Step 6:
Calculate Test Case Creation Time (TCCT)
usually we will take 1.5 times of TET as TCCT
TCCT = 1.5 * TET
Step 7:
Time for Re-Test Case Execution (RTCE) this is for retesting
usually we take 0.5 times of TET
RTCE = 0.5 * TET
Step 8:
Set Report generation Time (RGT
usually we take 0.2 times of TET
RGT = 0.2 * TET
Step 9:
Set Test Environment Setup Time (TEST)
it also depends on test plan
Step 10:
Total Estimation time = TET + TCCT+ RTCE + RGT + TEST + some buffer.
16. Which methodologies do you used to develop test cases in Quality Engineering?
Error Guessing:
The tester has to guess what fault might occur and to design the tests to represent them.
Equivalence Class Partitioning:
The input domain data is divided into different equivalence data classes; take few valid values with 2 invalid values. This is used to reduce the total number of test cases to a finite set of testable test cases.
Boundary value analysis:
Boundary value analysis testing technique is used to identify errors at boundaries rather than finding those exist in center of input domain. Boundary value analysis is a next part of Equivalence.
17. Explain the difference between test strategy and test plan?
★ Test plan is dynamic where as test strategy is static.
★ Test plan is prepared by the Test Lead where as Test Strategy is prepared by the company management.
★ Test strategy defines: methods and coverage criteria to be covered test completion criteria, prioritization of the test where as Test plan is a document describing the scope, approach, resources and schedule of intended test activities.
★ Test Strategy is a high level description of the test levels to be performed where as Test plan is written record of the test strategy and resource planning.
18. What is Top Down Approach in Quality Engineer?
★ The top down approach is carried out with the help of the test stub. Test stub are the dummy programs. The Stub is called from the software component to be tested.
★ Tests top layer of controlling subsystem first. Then combine modules that are called by the tested modules and test resulted collection of modules.
★ Do this until all the modules are combined and tested.
19. What is Bottom Up Approach in Quality Engineer?
The bottom up approach testing approach is carried out with the help of the test driver. The test driver calls a component to be tested. The modules in the lower level of call hierarchy are tested independently. Then the next level modules are tested that call previously tested modules. This is done repeatedly until all the modules are included in the testing. Bottom up testing stops when the top module in the call hierarchy is tested with all lower call hierarchy modules.
20. List the dimensions of the Risks step by step?
Schedule:
Unrealistic schedules. to develop a huge software in a single day.
Client:
Ambiguous requirements definition, requirement and not clear, changes in the requirement etc.
Human Resources:
Non-availability of sufficient resources with the skill level expected in the project.
System Resources:
Non-availability of procuring all critical computer resources either hardware and software tools or licenses for software will have an adverse impact.
Quality:
Compound factors like lack of resources along with a tight delivery schedule and frequent changes to requirements will have an impact on the quality of the product tested.
21. How to prioritize testing tasks within a project in Quality Engineering?
★ Preparation of Test Plan.
★ Preparation of Test Cases.
★ Execution of the Test Cases.
★ Defect report and tracking.
★ Test Report Summary.
22. What are the roles of Bug Tracking System in Quality Engineering?
★ Testers and developers can know the status of the bug at every stage.
★ Changes to the Status will be available to all team members.
★ Developers and Testers can easily interact with bugs.
★ Repetition of bugs will be avoided.
★ Easy to distribute the bug among the developer.
★ It will act as a centralized one for defects.
23. Do you know how to find all Bugs in first round of Testing?
There could be several reasons for not debugging the entire bug in the first round of testing process. Debugging the showstopper in the first or second build is almost impossible. A found defect can cover up the other defects in the application. The thread which leads to on defect could be redirected to another defect, as the tester find the bug and lock that bug in report and after fixing of those bugs new bugs may also arises. It is difficult to keep testing on a known defective application. That is the reason we cannot find all the bug in first run and also we cannot perform Exhaustive testing.
24. Why Gantt Chart is used in Quality Engineering?
A Gantt Chart is used to represent a project schedule that includes duration of individual tasks or phases, their dependencies and ordering.
★ It displays the start and end points of each task and the percentage of completion of each task
★ It allows the planner to assess the duration of a project, identify the resources needed, and lay out the order in which tasks need to be performed.
★ It is useful in managing the dependencies between tasks.
★ Using Gantt chart each team member can view the product development schedule.
25. What is Use Case Testing in Quality Engineering?
The use case testing uses this use case to evaluate the application. So that, the tester can examines all the functionalities of the application. Use case testing cover whole application, tester performs this testing in step by step process to complete one task.
26. What is Use Case in Quality Engineering?
A use case is a description of the process which is performed by the end user for a particular task. Use case contains a sequence of step which is performed by the end user to complete a specific task or a step by step process that describe how the application and end user interact with each other. Use case is written by the user point of view.
27. Why we perform the Performance testing in Quality Engineering?
Performance Testing is performed to determine response time of the some components of the system perform under a particular workload. It is generally measured in terms of response time for the user activity. It is designed to test the overall performance of the system at high load and stress condition.
28. Why we perform the load testing in Quality Engineering?
The reason to perform the load testing is to determine response times of application processes and transactions to establish whether they are within acceptable time limit or not, as per user requirement. It also measures the capability of an application to function correctly under load by measuring the systems key performance indicators.
29. Explain the difference between test effectiveness and test efficiency?
★ Test Efficiency is the ratio of number of test cases executed by unit of time (generally per hour).
★ It is the amount of code and testing resources required by a program to perform a particular function. Test Effectiveness evaluates the effect of the test environment on the application.
★ Test Effectiveness is a measure by the customer response on meeting product requirements where as Test Efficiency is a measure of optimum utilization of resources to create the Software product.
30. Described Agile Testing in Quality Engineering?
Agile Testing means to quickly validation of the client requirements and make the application of good quality user interface. When the build is released to the testing team, testing of the application is started to find the bugs. As a Tester, we need to focus on the customer or end user requirements. We put the efforts to deliver the quality product in spite of short time frame which will further help in reducing the cost of development and test feedback's will be implemented in the code which will avoid the defects coming from the end user.
31. Define the need of Test Plan document in Quality Engineering?
Test Plan tells the tester that what needs to be tested and how testing is going to be performed. Test plan also tells that what resources are needed for the execution of the test cases, timelines and risk associated with the test plan. We can also perform the testing without test plan document, but first we have to select test Approach for the testing and go with testing. Many test plans are being created just for the sake of processes. Many tester use test plan documents when test plan document contains the some useful information.
★ Relative complexity of the modules.
★ Relative complexity of the interface between the modules.
★ Number of modules in the system.
★ Number of modules needed to be clustered together in each test cycle.
★ Whether the modules to be integrated have been adequately tested before.
★ Turnaround time for each test-debug-fix cycle.
33. What is paradigms for interfacing module?
Procedure Call Interface:
A procedure from one module calls to procedure of another module. The caller can pass data to the called procedure while calling and also the called procedure can pass data to the caller while returning control back to the caller procedure.
Shared Memory:
When a block of memory is shared between two modules. The memory block may be allocated by one of the two modules or third module of the same application.
Message Passing Interface:
One module generates a message and sends the message to another module. It helps in building up the communication between different process or modules.
34. Define Capability Maturity Model (CMM) in Quality Engineering?
Divided in five levels:
1) Initial:
The organization is characterized by an adhoc set of activities. The processes aren't defined and success depends on individual effort and heroics.
2) Repeatable:
In this level some processes are repeatable, possibly with consistent results.
3) Defined:
In this level, we define all processes are documented for both management and engineering activities, and standards.
4) Managed:
Detailed measures of each process are defined and product quality data is routinely collected. Both process and products are quantitatively understood and controlled.
5) Optimizing:
In this we optimize the application by following improvement process.
35. List the benefits of Automated Testing in Quality Engineering?
Benefits of Automation Testing are below:
Consistency in testing.
Test interval reduction
Test engineer productivity.
Coverage of regression testing.
Re-usability of test cases.
Reduced software maintenance cost
Increased test effectiveness