QA Methodology Real Test Flashcards
What distinguishes Quality Assurace from Testing
QA and Testing are two different aspects of the software development process. Testing is product oriented, focusing on identifying defects in a specific product or system. QA on the other hand it is about imporving the testing and development processes to prevent defects from occuring in the first place. QA is a broader concept than testing
Can you explain the Front End and Back End of application
The Front End is the interface that user interact with. It is visually oriented, and hence also referred to as the Graphical User Interface (GUI). The back end involves the server where information is processed and the database where data is stored. Its the part of the system that users dont see.
Whats is SDLC
Software Development Life Cycle, refers to the complete process involved in the development of a system, from start to finish. It includes 6 stages
Requirment Gathering
System Design
Development
Testing
Deployment
Maintenance
What are the Requirment documentation in Waterfall and Agile
In the Waterdall model requirement documentation typically include thr Business Requirement Document (BRD) which is high level functional document, Functional Requirement Document (FRD), a low level functional document, and the System Requirements Specification (SRS) a technical document
What are the different flows in a Use Case
3 different flows
1) Basic Flow this is happy path where everything goes as expected.
2) Alternative Flow this is another valid path to achieve the same goal when the conditions are no the same as basic flow.
3) Exceptional flow this flow occurs when something goes wrong.
Positive Testing
It is where functionality behaves as expected with valid data also called happy path testing. For ex: login with correct email and password
Example sentence: login with correct email and password
Negative Testing
It is where functionality behaves as expected with invalid data by throwing warning/error message. For ex: login functionality with invalid User ID and Password
Example sentence: login functionality with invalid User ID and Password
Functional Testing
Testing the purpose of the functionality. What it is supposed to do. If compose button opens a popup window with To, Subject, Body. Then clicking compose opens popup window or not is called a functional testing.
Non-Functional Testing
Nonfunctional testing is testing technical part of the functionality. Answers question on how does it do that functionality. For example: If compose button opens a pop-up window, then how long does it take to open that window is non-functional testing. Or How many people can open compose window at the same time.
Smoke Testing
Is high level testing that ensures most important functions work. The result of this testing is used to decide if a build is stable enough to proceed with further testing. For ex: high level testing functionalities to see if it behaves as expected and app doesn’t crash once the build is deployed
GUI
Testing what you see on UI, buttons, toolbar, icons, drop downs, color, feel, location displayed as expected.
End-to-end testing
Is a technique used to test whether the flow of an application right from start to finish is behaving as expected. The purpose of performing end-to-end testing is to identify system dependencies and to ensure that the data integrity is maintained between various system components and systems. For ex: Let’s take positive scenario of login functionality, First i test the behavior in UI with valid credentials, then I will go and try to authenticate with token in services with the same credentials, then I will go to Credentials table in Database and query for the username I used and see if it exists and compare password as well
Ad-Hoc Testing
Without having any requirements documentation. User browses through the system, learns and tests at the same time. Ad-hoc testing is done without any knowledge of application. Ad-hoc testing does not need test cases to follow. For ex: Let’s take password field, if we don’t have any requirements I would start with small/large cap chars, number and special chars
Exploratory Testing
Is done when there is no requirements documentation. It is more about learning the applications workflow then testing it.
What is Regression Testing?
Regression Testing: is rerunning functional test cases to ensure that recent code change has not impacted existing functionalities and behaving per requirement. For ex: I usually perform regression test by re-running my functional test cases after bug fix or enhancement in the build.
Example sentence: I usually perform regression test by re-running my functional test cases after bug fix or enhancement in the build.
What is Targeted Regression Testing?
Targeted Regression Testing is rerunning certain subset of regression test cases instead of all of them by defining impacted area. For ex: If change is isolated, we can pick certain test cases to rerun as a targeted regression
Example sentence: If change is isolated, we can pick certain test cases to rerun as a targeted regression.
What is Retesting?
Retesting is done on failed test cases to make sure that the original defect has been fixed. For ex: If the submit button was not working and after it got fixed, I have to retest to make sure submit button is working per requirements.
Example sentence: If the submit button was not working and after it got fixed, I have to retest to make sure submit button is working per requirements.
What is Backend Testing?
Backend Testing: is making sure that data in Ul and Database is matching. For ex: Account balance in Ul and Database should be the same, I will query database for that user’s account balance in account Balance table then compare it with Ul
Example sentence: Account balance in Ul and Database should be the same, I will query database for that user’s account balance in account Balance table then compare it with Ul.
What is Performance Testing?
Performance Testing: is performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It tests Throughput - how much data you can download in a minute for example. Latency - if you click how long does it take for the app to respond. Memory utilization - how much space it is taking up on the computer or server. CPU utilization - how much CPU is consumed. For ex: when you overload or stress the application with large size of data or large number of users simultaneously
Example sentence: when you overload or stress the application with large size of data or large number of users simultaneously.
What is Load Testing?
Load Testing: is performed to determine a system’s behavior under both normal and at peak conditions by overloading the app with large size of data. For ex: loading large size of data to see how app behaves
Example sentence: loading large size of data to see how app behaves.
What is Integration Testing?
Integration Testing: is performed to validate the integration between components meaning modules are interacting as expected. For ex: when Ul and DB are integrated, i have to validate the data is matching in both sources.
Example sentence: when Ul and DB are integrated, i have to validate the data is matching in both sources.
What is ETL Testing?
ETL Testing done to ensure that the data that has been loaded from a source to the destination and making sure that data matches both in source and destination. For ex: If data is loaded from the first database to the second then I will query both of them and compare the data to make sure it is matching
Example sentence: If data is loaded from the first database to the second then I will query both of them and compare the data to make sure it is matching.
What distinguishes Ul, GUI, and UX from each other?
Ul, or User Interface, refers to any platform that presents information to the user. A GUI, or Graphical User Interface, is a type of Ul that includes graphical elements. A terminal without graphics, like a UNIX terminal, is also a Ul but not a GUI. UX, or User Experience, pertains to the user’s overall interaction and satisfaction with the application.
Example sentence: Ul, or User Interface, refers to any platform that presents information to the user.
How is User Experience (UX) tested?
While UX is often evaluated by specialized UX teams or professionals who understand user behavior, Quality Assurance (QA) engineers can contribute by conducting Usability Testing. This process doesn’t
Example sentence: Quality Assurance (QA) engineers can contribute by conducting Usability Testing.
What is Ergonomics Testing?
Ergonomics Testing evaluates the usability of a device, including its ease of use, hold, reach, and operation. QA can propose usability and ergonomics improvements for a better user experience.
How do you create a Test Case?
Test cases are created through requirement analysis, formulating positive and negative test scenarios, and then developing the test cases from these scenarios.
How many test cases do you write a day?
The number of test cases written daily varies from 15 to 30, depending on the complexity of the features.
What are the components of a Test Case?
A Test Case consists of several key components. The most crucial ones include:
1. Test Description: This provides a detailed explanation of what the test is aiming to accomplish.
2. Test Data: This refers to the sample data used specifically for testing this particular case.
3. Test Steps: These are the steps followed to execute the test on this particular issue.
4. Expected Results: These are the conditions that, once met, signify the completion of testing for this issue.
5. Actual Results: These represent the outcomes of the test execution.
6. Status: This indicates whether the test was a pass or fail.
7. Notes: These may include additional information, such as which server or database to use.
8. Author: The Quality Assurance (QA) professional who created this test case.
What is STLC?
STLC stands for Software Testing Life Cycle, which encompasses all processes of testing: Requirements Analysis, Test Planning, Test Case/RTM Creation, Environment Setup, Test Execution, Defect Management, Test Analysis Reporting, and Sign Off.
What do you do at work?
Day-to-day activities include requirements analysis, test planning, creating test scenarios, cases, and RTM documents, setting up the environment, conducting various testing types, logging and tracking bugs, performing full regression testing, and finally signing off.
Explain me your day to day activities ?
or give me full STLC process
At work i start with Requirment analysis. I take the requirments documantation from BA and start analyzing it for Testability by uncovering anything Vague, Incorrect or Contradictory. If i have any questions, inrequest to have a walkthrough Meeting with BA to get answers to my questions. Then i will start planning my testing process. What is the scope kf Testing, in which environment i will do testing. What Software and Hardware do i need for the Environment Setup, what are the schedules for this testing, who will be working on this project, QA, DEV, BA, PM etc, Afterwards i start creating my Test Scenarios, Test Cases and RTM documentations. Then i will follow the requirements for Environment Setup and i prepare my environment. Once developers finish coding and unit testing, they do the code drop and i start testing with smoke tsstung. Then i proceed with my other testing such as Functional, End to end, System, Backend Testinf types. When i find bug i reproduce it twice to make sure it is reproducible and chekc the jira for any duplicates. If no duplicates then i log the bug and assign to the Developer. If the bug i high priority, i truck thr bug closelsy till it is fixed. Once i execute all my test cases for this release, verify all high pirofity bugs fixed, i perform full regression testing, After regression testing is successful. I Sign off.
How often do you report TAR and who do you report it to?
I report to my manager daily. My report will have all the knfo about the number of open, in progress and closed defects, list of high priority defects with its defectID and name, number of test cases created, executed, pass and fail, Project and release timelines and deadlines as well.
What are included in the Test plan
Test plan is a document that outlines whole testing process of the product. It shows what/how/where/when will be tested and who will be working on it.
Table of Content
Introduction
Scope
Test strategy
Environmental
Test Schedule
Control procedure
Function
Resources and Responsibility
Deliverables
Entry/Exit Criteria
Dependencies
Risks and Mitigation
Tos
Approvals
Appendix
How is the testing effort estimated?
The estimation involves a review of the Requirements Documentation and approximating time for various phases:
1. Requirements Analysis and Test Creation: For example, if there are 60 test cases and you can create 20 per day, it would take around 3 days.
2. Test Execution: Assuming an average execution of 15 test cases per day, for 60 cases it would be
3. Bug Life Cycle: The number of defects could range from 10% to 50%. Assuming a 25% defect rate, you might spend approximately 1 day reproducing, logging, and retesting defects.
4. Regression Testing: Depending on the scope, this could involve full or targeted regression testing, which might take, for example, 3 days.
In this case, the total estimated testing effort would be 11 days.
Example sentence: The testing effort for this project is estimated to be 11 days.
What tools have you used in your last projects?
I used wide sets of testing tools in my last project. Among them, the most used ones were:
- UNIX to track log file and analyze log file
- PUTTY to log in to several QA servers at the same time
- FileZilla to copy files from servers to local machine
- TOAD to connect to Oracle database and perform backend testing using SQL commands
- Notepad++ to open and view FIXML message
- JIRA for issue and workflow management
- GIT to store and retrieve automation scripts
Example sentence: In my last project, I used a variety of tools such as UNIX, PUTTY, and JIRA.
Where can you get test data?
Test data can be obtained from a variety of sources:
1. Test Plan: The Test Plan might include the required test data.
2. Development Team:
- Developers might attach the necessary test data to the JIRA ticket.
- They may extract data from the Production Environment and send it to the QA team via email.
- Alternatively, they might provide ‘insert’ SQL statements which the QA team can use to populate new data into the database schema.
3. Senior QA Team Member: A senior QA professional who has been on the project for a considerable time might have stored test data that can be used.
None of these sources provide the needed data, the A team can create is Own test data based or the requirements detailed in the JIRA ticket.
Example sentence: If test data is not available from the Test Plan or Development Team, the QA team can create their own test data.
What is a bug
when actual result doesnt match expected result then it is a bug.
What is a bug life cycle?
Bug tickets life from creation till closing. New Open Fixed Closed
Who can open and who can close the bug?
Anyone can open a Bug, QA BA and DEV. Verification and closing the bug is QAs job