QA Methodology Real Test Flashcards
(98 cards)
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.