21
Q1. What is Requirement Traceability Matrix? The Requirements Traceability Matrix (RTM) is a tool to make sure that project requirement remain same throughout the whole development process. RTM is used in the development process because of following reasons: • To determine whether the developed project is meet the requirements of the user. • To determine all the requirements given by the user • To make sure the application requirement can be fulfilled in the verification process. Q2. What is difference between Pilot and Beta testing? The differences between these two are listed below: • A beta test when the product is about to release to the end user whereas pilot testing take place in the earlier phase of the development cycle. • In beta testing application is given to a few user to make sure that application meet the user requirement and does not contain any showstopper whereas in case of pilot testing team member give their feedback to improve the quality of the application. Q3. Describe how to perform Risk analysis during software testing? Risk analysis is the process of identifying risk in the application and prioritizing them to test. Following are some of the risks: 1. New Hardware. 2. New Technology.

Tesing Exp Ques

Embed Size (px)

DESCRIPTION

testing

Citation preview

Q1. What is Requirement Traceability Matrix?The Requirements Traceability Matrix (RTM) is a tool to make sure that project requirement remain same throughout the whole development process. RTM is used in the development process because of following reasons: To determine whether the developed project is meet the requirements of the user. To determine all the requirements given by the user To make sure the application requirement can be fulfilled in the verification process.Q2. What is difference between Pilot and Beta testing?The differences between these two are listed below: A beta test when the product is about to release to the end user whereas pilot testing take place in the earlier phase of the development cycle. In beta testing application is given to a few user to make sure that application meet the user requirement and does not contain any showstopper whereas in case of pilot testing team member give their feedback to improve the quality of the application.Q3. Describe how to perform Risk analysis during software testing?Risk analysis is the process of identifying risk in the application and prioritizing them to test. Following are some of the risks:1. New Hardware.2. New Technology.3. New Automation Tool.4. Sequence of code delivery.5. Availability of application test resources.We prioritize them into three categories these are: High magnitude: Impact of the bug on the other functionality of the application. Medium: it can be tolerable in the application but not desirable. Low: it can be tolerable. This type of risk has no impact on the company business.Q4. What is Silk Test?Silk Test is a tool developed for performing the regression and functionality testing of the application. Silk Test a tool is used when we are testing the applications which are based on Window, Java, web or traditional client/server. Silk Test help in preparing the test plan and management of those test plans, to provide the direct accessing of the database and validation of the field.Q5. What is difference between Master Test Plan and Test Plan.The differences between Master Plan and Test Plan are given below: Master Test Plan contains all the testing and risk involved area of the application where as Test case document contains test cases. Master Test plan contain all the details of each and every individual tests to be run during the overall development of application whereas test plan describe the scope, approach, resources and schedule of performing test. Master Test plan contain the description of every tests that is going to be performed on the application where as test plan only contain the description of few test cases. during the testing cycle like Unit test, System test, beta test etc Master Test Plan is created for all large projects but when it is created for the small project then we called it as test plan.Q6. How to deal with not reproducible bug?Ans. A bug cannot be reproduced for following reasons:1. Low memory.2. Addressing to non available memory location.3. Things happening in a particular sequence.Tester can do following things to deal with not reproducible bug: Includes steps that are close to the error statement. Evaluate the test environment. Examine and evaluate test execution results. Resources & Time Constraints must be kept in point.Q7.What is the difference between coupling and cohesion?The difference between coupling and cohesion is discussed below: Cohesion is the degree which is measure dependency of the software component that combines related functionality into a single unit whereas coupling means that binding the related functionality into different unit. Cohesion deals with the functionality that related different process within the single module where as coupling deals with how much one module is dependent on the other modules within the application. It is good to increase the cohesion between the software whereas increasing coupling is avoided.Q8. What is the role of QA in a project development?The role of Quality Assurance is discussed below: QA team is responsible for monitoring the process to be carried out for development. Responsibilities of QA team are planning testing execution process. QA Lead creates the time tables and agrees on a Quality Assurance plan for the product. QA team communicated QA process to the team members. QA team ensures traceability of test cases to requirements.Q9. When do you choose automated testing over manual testing?This choice between automated testing over manual testing can be based upon following factors:1. Frequency of use of test case2. Time Comparison (automated script run much faster than manual execution.)3. Reusability of Automation Script4. Adaptability of test case for automation.5. Exploitation of automation toolQ10. What are the key challenges of software testing?Following are some challenges of software testing:1. Application should be stable enough to be tested.2. Testing always under time constraint3. Understanding the requirements.4. Domain knowledge and business user perspective understanding.5. Which tests to execute first?6. Testing the Complete Application.7. Regression testing.8. Lack of skilled testers.9. Changing requirements.10. Lack of resources, tools and trainingQ11. What is difference between QA, QC and Software Testing?Quality Assurance (QA): QA refers to the planned and systematic way of monitoring the quality of process which is followed to produce a quality product. QA tracks the outcomes and adjusts the process to meet the expectation.Quality Control (QC): Concern with the quality of the product. QC finds the defects and suggests improvements. The process set by QA is implemented by QC. The QC is the responsibility of the tester.Software Testing: is the process of ensuring that product which is developed by the developer meets the user requirement. The motive to perform testing is to find the bugs and make sure that they get fixed.Q12. What is concurrent user hits in load testing?When the multiple users, without any time difference, hits on a same event of the application under the load test is called a concurrent user hit. The concurrency point is added so that multiple Virtual User can work on a single event of the application. By adding concurrency point, the virtual users will wait for the other Virtual users which are running the scripts, if they reach early. When all the users reached to the concurrency point, only then they start hitting the requests.Q13. What is difference between Front End Testing and Back End testing?The differences between front and back end testing are: Front End Testing is performed on the Graphical User Interface (GUI).whereas Back End Testing involves databases testing. Front end consist of web site look where user can interact whereas in case of back end it is the database which is required to store the data. When ender user enters data in GUI of the front end application, then this entered data is stored in the database. To save this data into the database we write SQL queries.Q14. What is Automated Testing?The process of performing testing automatically which reduces the human intervention this is automation testing. The automation testing is carried out with the help of the some automation tool like QTP, Selenium, WinRunner etc. In automation testing we use a tool that runs the test script to test the application; this test script can be generated manually or automatically. When testing is completed then tools automatically generate the test report and report.Q15. What is Testware?The testware is: The subset of software which helps in performing the testing of application. Testware are required to plan, design, and execute tests. It contains documents, scripts, inputs, expected results, set-up and additional software or utilities used in testing. Testware is term given to combination of all utilities and application software that required for testing a software package.Testware is special because it has:1. Different purpose2. Different metrics for quality and3. Different usersQ16.What is Exhaustive Testing?Exhaustive Testing, as the name suggests is very exhaustive. Exhaustive testing means to test every component in the application with every possible number of inputs. According to Principles of testing Exhaustive Testing is Impossible because exhaustive testing requires more time and effort to test the application for all possible number of inputs. This may lead to high cost and delay in the release of the application.Q17. What is Gray Box Testing?Grey box testing is the hybrid of black box and white box testing. In gray box testing, test engineer has the knowledge of coding section of the component and designs test cases or test data based on system knowledge. In this tester has knowledge of code, but this is less than the knowledge of white box testing. Based on this knowledge the test cases are designed and the software application under test treats as a black box & tester test the application from outside.Q18. What is Integration Testing?Integration testing is black box testing. Integration testing focuses on the interfaces between units, to ensure that units work together to complete a specify task. The purpose of integration testing is to confirm that different components of the application interact with each other. 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. Integration testing is done after unit testing. There are mainly three approaches to do integration testing: Top-down Approach tests the components by integrating from top to bottom. Bottom-up approach It takes place from the bottom of the control flow to the higher level components Big bang approach In this are different module are joined together to form a complete system and then testing is performed on it.Q19. What is Scalability Testing?Scalability testing is testing performed in order to enhanced and improve the functional and performance capabilities of the application. So that, application can meets requirements of the end users. The scalability measurements is done by doing the evaluating the application performance in load and stress conditions. Now depending upon this evaluation we improve and enhanced the capabilities of the application.Q20. What is Software Requirements Specification? A software requirements specification is a document which acts as a contract between the customer and the supplier. This SRS contain all the requirement of the end user regarding that application. SRS can be used as a communication medium between the customer and the supplier. The developer and tester prepare and examine the application based on the requirements written in the SRS document. The SRS documented is prepared by the Business Analyst by taking all the requirements for the customer.Q21. What is Storage Testing?In Storage Testing we test those functionalities of the application which is responsible for storing the data into database. The data entered by the end user in GUI or front end, is the same data which is stored in the database. The storage testing determines that the data taken from the front end of the application is stored in correct place and in correct manner in the database.Q22. What is Stress Testing?Stress testing tests the software with a motive to check that the application do not crashes if we increase the stress on the application by increasing the large number of user working on the application. We can also apply the stress on the application firing the lots of process which cannot be handled by the application. We perform the stress testing on the application evaluate the application capabilities at or beyond the limits of its specified requirements to determine. Generally, this is a type of performance testing performed in a very high level of load and stress condition.Q23. What is Test Harness?A test harness is a collection of software and test data required to test the application by running it in different testing condition like stress, load, data- driven, and monitoring its behavior and outputs. Test Harness contains two main parts: Test execution engine Test script repositoryAutomation testing is the use of a tool to control the execution of tests and compare the actual results with the expected results. It also involves the setting up of test pre-conditions.Q24. Can you define test driver and test stub? The Stub is called from the software component to be tested. It is used in top down approach. The driver calls a component to be tested. It is used in bottom up approach. Both test stub and test driver are dummy software components.We need test stub and test driver because of following reason: Suppose we want to test the interface between modules A and B and we have developed only module A. So we cannot test module A but if a dummy module is prepare, using that we can test module A. Now module B cannot send or receive data from module A directly so, in these cases we have to transfer data from one module to another module by some external features. This external feature used is called Driver.Q25.What is good design?Design refers to functional design or internal design. Good internal design is indicated by software code whose overall structure is clear, understandable, easily modifiable, and maintainable; is robust with sufficient error-handling and status logging capability, and works correctly when implemented. Good functional design is indicated by an application whose functionality can be traced back to customer and end-user requirements.Q26. What makes a good QA or Test manager?A good QA or Test manager should have following characteristics: Knowledge about Software development process Improve the teamwork to increase productivity Improve cooperation between software, test, and QA engineers To improvements the QA processes. Communication skills. able to conduct meetings and keep them focusedQ27. What is Manual scripted Testing and Manual Support testing?Manual Scripted Testing: Testing method in which the test cases are designed and reviewed by the team before executing it. It is done by manual testing teams.Manual-Support Testing: Testing technique that involves testing of all the functions performed by the people while preparing the data and using these data from automated system. it is conducted by testing teamsQ28. What is Fuzz testing, backward compatibility testing and assertion testing?Fuzz Testing: testing application by entering invalid, unexpected, or random data to the application this testing is performed to ensure that application is not crashing when entering incorrect and unformatted data.Backward Compatibility Testing: Testing method which examines performance of latest software with older versions of the test environment.Assertion Testing: Type of testing consisting in verifying if the conditions confirm the product requirements.Q29. How does a client or server environment affect testing?There are lots of environmental factors that affect the testing like speed of data transfer data transfer, hardware, and server etc while working with client or server technologies, testing will be extensive. When we have time limit, we do the integration testing. In most of the cases we prefer the load, stress and performance testing for examine the capabilities of the application for the client or server environment.Q30. What are the categories of defects?There are three main categories of defects: Wrong: The requirements are implemented incorrectly in the application. Missing: When requirement given by the customer and application is unable to meet those application. Extra: A requirement incorporated into the product that was not given by the end customer. This is always a variance from the specification, but may be an attribute desired by the user of the product.

1. In an application currently in production, one module of code is being modified. Is it necessary to re-test the whole application or is it enough to just test functionality associated with that module?Vijay:Well, the answer is both. You will have to test the functionality of that module as well as the other modules. But you can differentiate on the stress to be given on the module to be tested.I think this scenario will explain the answer to your question well.If Module A is modified, Module B is depending on module A, and Module C is a general module independent of module A.So in this case you will test the module A in depth to all test cases. Then your next stress will be on module B. Wait now what about module C? You will have to test this module as well but may be with less stress because module C is not depend on module A but may be depend on module B.Again if you are a white box tester you probably know which modules will get affected and which modules should be tested. But as a black box tester you will need to do regression testing as well.2. What is the most challenging situation you had during testing?Vijay:A good question! When I switched my job some years back I was being asked the same question.Well a good answer to this question is depends on each ones experience. If you came across any such a situation and found any interesting Bug that was difficult to find out or analyzed any project risk accurately before occurring then this could be the answer to this question.Keep in mind that when answering such a question, be realistic and dont overstress the situation.3. What are you going to do if there is no Functional Spec or any documents related to the system and developer who wrote the code does not work in the company anymore, but you have system and need to test?Vijay:A typical situation in Indian companies! Right? Due to high attrition rateIn this case fist you will need todo the exploratory testingof the product. In this testing you will come to know the system and its basic workflow. In exploratory testing you can also find some blocker bugs that cause system to be crash.

Q1. What is the Process for creating a test script?Step 1 is to get a thorough understanding of the AUT a)This could be by reading the requirement documents thoroughlyb)In absence of docs, we could try to understand the any point of reference that we have a previous version of the application or wire-frames or screenshotsStep 2 After understanding the requirements, we make a list of what are the areas in this application that will be have to be tested. In other words, we identify the test requirements. The focus in this step is to identify What to test. The outcome of this step is a list oftest scenarios.Step 3 Once we have the test scenarios, we concentrate next on How to test them. This phase involves writing detailed steps about how to test a particular feature, what data to enter (test data) and what is the expected result.Once these 3 steps are done, we are ready for testing.Q2. What are the fields in a bug report?Following important fields should be included in agood bug report:1. A unique ID2. Defect description a short describing what the bug is3. Steps to reproduce details about how to arrive at the error, exact test data, the time at which defect was found(if applicable) environment any information that will help re-encounter the issue4. Module/section of the application (if applicable)5. Severity6. Screenshot7. Responsible QA in case of any follow up questions regarding this issueQ3. How to test a customer facing software?With any application that we test, we are trying to see if a certain set of requirements are met by the application or not. But when it comes to a user facing site, apart from concentrating on functionality, we also have to look into few the usability features, may be performance and security aspects also to a certain extent.The first level of testing is Does the site satisfy its functional requirements.Example: if it is a loan management site, we need to look at are the new customer able to apply for a loan, are the existing customer able to access their loan info, is the interest % applied to the loan amount correct, etc.The next level of testing is how easy is it to use the site, do the options make a logical sense and meet the expectations of the user or not.For example, if the user has to be pass 3-4 screens to submit the basic information they are going to be annoyed, so such issues have to be addressed. Another example, after entering username and password, the user might click on tab- which means the control should go to Sign in button, instead if its going to cancel, the user is going to be really annoyed and the experience of using the site is going to be compromised. Such issues have to be caught.Performance testingto the complete extent might not be in scope but simple situations like, how long does the search results take to be displayed and how much time does it take for the system to retrieve a customer info at the peak hour these are some example of the kind of things we would want to keep an eye on.Security for sites where there is a secure login to access the site, the minimum functionality around it has to be tested.For example, if I leave the site idle for more than 10 minutes, is it auto logging out or not. Something as basic as that should be focused on.

Q4. How to overcome the challenge of not having input documentation for testing?IF the detailed standard documentation like BRD and FSD are unavailable, the tester will have to depend on some point of reference.a)Screenshotsb)A previous version of the applicationc)Wireframes etcAnother factor that helps immensely, is to talk to the developers or the business analysts (when available) to get a confirmation on our understanding or clarifications in case of doubts.When none of these situations work, we can just conceptualize the application based on our previous IT application experience and create the basic set of test scripts. When testing phase comes up, we can set up a portion of test cycle time and do some test case management (make the already created scripts perfect) so we have the doc for the next phases.Q5. How to getmaximum productivityfrom offshore team?The key is to make sure that all the testers know about all the modules and that there is no knowledge concentration in one place. Involving everyone in test script peer reviews, defect meetings and KT sessions is going to ensure that everyone is aware of the application to the best extent possible.Also, by encouraging the concept of team work we can have the team members collaborate, help and aid each other for better productivity.Regular follow up meetings also help the process very much.Q6. What are the Roles and Responsibilities of an onsite coordinator? Does he/she test too?Onsite coordinator is a point of contact for the offshore team and to the client for any information regarding the testing engagement.This job includes: KT from and to offshore and clients Getting the environment to test all ready Sanity testing, smoke testing Testing the key functionality. Bug review found by the offshore team Bug assigning to the respective dev Presenting metrics Providing sign offYes, even an onsite coordinator has to test.Q7. Inconsistent bugs Why onsite can find it but offshore cant and vice versa How to handle this situation?Every bug has to be noted and analyzed whether it is encountered at onsite or offshore, whether repeatable or not. A real value add to a testers job is when we involve ourselves in the Root Cause Analysis process for a bug rather than simply reporting it.Some of the ways we can handle this situation is:#1.All the onsite and offshore team members should follow a guideline that screenshots had to be taken for every error that we encounter repeatable or not#2.If there are logs, system files or anything like that, that might help us find any evidence of the issue- we should try to find it#3.Despite all these steps, if we still cant tell why and when the problem occurs- we should report it to the developer all the same with as much information as we can.Q8. Video/audio related testing What does this include?How to test an application having video or audio?Here are the important points to consider:Access levels (restricted or not password controlled)Different kinds of environmentsBrowser compatibilityScreen resolutionsInternet connection speedsThe specific options on a video like play, stop, mute etc.Video by sizeResponse to the videos comments (limitations on the comment length and number of comments it can take)Video responses to the videosInterface with social networking sites interoperabilityBuffering speedEmbedding the videoQ9. Mobile Application Testing What does it include briefly?Mobile App Testing Important Test Scenarios:Check if the app works well with multiple carriers and multiple devicesUsability of the features in a mobile screenTesting it in different mobile platforms like Android and iOSInstallations, uninstalling, launching the app with network and without network, testing functionalityNetwork connections WiFi, 2G, etc.Logs at iOS iPhone configuration utility for Android Monitor.batcan be used for debuggingThat was it. Now, wasnt that simple.