0% found this document useful (0 votes)
13 views5 pages

API and Manual Testing Interview Guide

The document provides a comprehensive overview of software testing interview preparation, covering API testing, manual testing, and automation testing. It includes definitions, purposes, tools, types of testing, and common challenges faced in each area. Key concepts such as authentication vs authorization, regression testing, and the differences between various testing methodologies are also discussed.

Uploaded by

yocibay311
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views5 pages

API and Manual Testing Interview Guide

The document provides a comprehensive overview of software testing interview preparation, covering API testing, manual testing, and automation testing. It includes definitions, purposes, tools, types of testing, and common challenges faced in each area. Key concepts such as authentication vs authorization, regression testing, and the differences between various testing methodologies are also discussed.

Uploaded by

yocibay311
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Software Testing Interview Preparation

API Testing Interview (Simple & Easy Q&A)


What is API Testing?
API testing means checking if the connection between two software systems works
correctly. We don’t test the user interface, instead we test the requests and responses
directly.

Why do we test APIs?


Because:
- Sometimes UI is not ready but APIs are.
- To make sure the system’s backend logic works correctly.
- To find bugs earlier and faster.

Which tools do you know for API Testing?


I know:
- Postman → for manual and some automation.
- SoapUI → for SOAP and REST APIs.
- JMeter → for performance testing.
- RestAssured / Pytest → for automation.

What do you check in an API response?


I check:
- Status code (like 200, 404, 500).
- Response body (is the data correct?).
- Response time (is it fast?).
- Headers (like content type).
- Error messages (clear and correct).

What types of API Testing are there?


Some common ones are:
- Functional testing → is the API doing the right job?
- Performance testing → is it fast under load?
- Security testing → only allowed people can use it.
- Negative testing → wrong inputs should give correct errors.

What is the difference between REST and SOAP API?


- REST → simple, fast, uses JSON or XML, common today.
- SOAP → older, only XML, heavier, but more secure.
How do you test a Login API in Postman?
Steps:
1. Send a POST request with username & password.
2. Check status code = 200.
3. Check if token/session ID is returned.
4. Try wrong password → should give 401 Unauthorized.
5. Missing fields → should give 400 Bad Request.

What is Authentication vs Authorization?


- Authentication = Are you the real user? (login).
- Authorization = What are you allowed to do? (permissions).

How do you do API automation?


I use Postman collections, or tools like RestAssured. I check status codes, response data, and
run them automatically. I can also connect with Jenkins (CI/CD) to run on every build.

What are common API status codes?


- 200 OK → success.
- 201 Created → new record added.
- 400 Bad Request → wrong input.
- 401 Unauthorized → need login.
- 403 Forbidden → no permission.
- 404 Not Found → not exist.
- 500 Server Error → bug in server.

What challenges do you face in API testing?


- No proper documentation.
- Handling tokens or dynamic data.
- Different environments (dev, test, prod).
- Dependent APIs (one API needs another).

How do you test if no documentation is available?


- Check Swagger or Postman collections.
- See network calls in browser developer tools.
- Ask developers.
- Try and guess from request/response.
Manual Testing Interview (Simple & Easy Q&A)
What is Manual Testing?
Manual testing means testing the software without using automation tools. We check the
app step by step like a real user.

Why do we do Manual Testing?


Because it helps us:
- Understand the application deeply.
- Catch issues that automation may miss.
- Test quickly when requirements keep changing.

What are the different types of testing?


Common ones:
- Functional Testing → Check if features work as expected.
- Non-Functional Testing → Check performance, speed, security.
- Regression Testing → After changes, check old features still work.
- Smoke Testing → Basic check if build is stable.
- Sanity Testing → Quick check of new feature or bug fix.
- Exploratory Testing → Test without a plan, explore freely.
- Usability Testing → Check if app is easy for users.

What is the difference between Smoke and Sanity Testing?


- Smoke → Check main functions are working, build is stable.
- Sanity → Focused check on new feature or bug fix.

What is Black Box and White Box Testing?


- Black Box → We don’t see the code, just test inputs & outputs.
- White Box → We see the code and test inside logic.

What is the difference between Verification and Validation?


- Verification → Are we building the product right? (reviews, documents).
- Validation → Are we building the right product? (testing the app).

What documents are used in manual testing?


- Test Plan → what & how to test.
- Test Cases → step-by-step scenarios to test.
- Bug Report → defects found.
What is Regression Testing? Can you give an example?
Regression means testing old features after new changes.
Example: If we add a new payment method, we check old methods (Credit Card, PayPal) still
work.

What is Exploratory Testing?


Testing without test cases. Just exploring the app like a user and trying different inputs to
find hidden bugs.

What challenges do you face in Manual Testing?


- Changing requirements.
- Repeated test cases (boring and time taking).
- Missing documentation.
- Time pressure to test quickly.

Automation Testing Interview (Simple & Easy Q&A)


What is Automation Testing?
Automation testing means using tools or scripts to run test cases automatically instead of
checking everything by hand.

Why do we use Automation Testing?


Because:
- Saves time for repeated tests.
- Can run tests quickly (day/night).
- Reduces human errors.
- Useful for regression testing.

Which tools do you know for automation?


- Selenium → for web apps.
- Postman + Newman → for API automation.
- JMeter → for performance testing.
- Appium → for mobile apps.
- TestNG / JUnit / Pytest → frameworks for organizing tests.

What is Selenium?
Selenium is a tool to test web applications automatically. It controls the browser (like
Chrome, Firefox) to perform clicks, typing, navigation, etc.

What are the advantages of Selenium?


- Open-source (free).
- Supports many browsers.
- Supports many languages (Java, Python, C#, etc.).
- Works with different operating systems.

What are the disadvantages of Selenium?


- Only works for web apps (not desktop).
- No built-in reporting.
- Needs coding knowledge.

What are TestNG / JUnit used for?


These are frameworks used with Selenium for:
- Organizing test cases.
- Running tests in groups.
- Generating reports.

What is the difference between Manual and Automation Testing?


- Manual → human tester executes test cases step by step.
- Automation → tool/script executes test cases automatically.

What kind of tests should be automated?


- Regression tests.
- Repeated test cases.
- Tests that take a lot of time manually.
- Data-driven tests (same test with different inputs).

What kind of tests should NOT be automated?


- UI/UX usability testing.
- Exploratory testing.
- Tests that run only once.

What is a Test Script?


A test script is the code written to test a feature automatically (e.g., login test with
Selenium).

What challenges do you face in Automation Testing?


- Changing UI → scripts break.
- Test data handling.
- Setup and maintenance take time.
- Needs skilled testers who know coding.

Common questions

Powered by AI

Functional testing focuses on verifying that an application performs its intended functions correctly, thus checking feature accuracy in both manual and automated settings . Performance testing, however, measures how well the system performs under load; it focuses on speed, responsiveness, and stability rather than functionality itself .

Manual testing remains relevant because it allows testers to understand the application more deeply and catch issues that automation may miss. It is particularly useful when requirements frequently change, allowing testers to quickly adapt without needing to update test scripts . Additionally, manual testing is essential for exploratory and usability testing, which require human judgment and intuition .

Automation testing is recommended for regression tests, repeated test cases, and tests that are time-intensive when done manually. Automated tests are also beneficial for data-driven scenarios where the same test must be executed with different inputs. This practice saves time, reduces human error, and allows tests to be run frequently and efficiently .

When API documentation is unavailable, testers can refer to existing Swagger or Postman collections, track network calls in browser developer tools, consult with developers for insights, and engage in a trial-and-error approach with various request and response scenarios to infer the functionality . This process requires initiative and technical intuition to understand and test the API effectively.

TestNG and JUnit are frameworks that organize test cases, run them in groups, and generate reports, which enhances the process of automation testing with Selenium by providing structure, efficiency, and insights into test execution. These frameworks support parallel testing, dependency management, and integrate seamlessly with build tools like Maven and Jenkins, significantly easing the automation process .

UI changes can cause automation scripts to break, as locators and page structures may change. Testers can handle these challenges by employing dynamic locators and robust frameworks like Selenium Grid for parallel testing, integrating visual testing to spot UI discrepancies, and regularly refactoring scripts to align with UI updates . Additionally, using Object Repository patterns can help manage locator changes more efficiently.

To confirm a secure and functional execution when testing a Login API in Postman, check for a status code of 200 indicating success, ensure a token or session ID is returned, validate correct error handling by sending incorrect credentials to trigger a 401 status code, and verify error messages by submitting incomplete requests to receive a 400 status code .

REST APIs are known for being simple and fast, utilizing JSON or XML data formats, and are commonly used today . On the other hand, SOAP APIs primarily use XML, are considered heavier, and have more security layers compared to REST, although they are generally older .

The absence of proper documentation can significantly impede API testing by making it difficult to understand API functionalities and expected behaviors. This challenge can be mitigated by examining Swagger or Postman collections, analyzing network calls through browser developer tools, consulting developers, and experimenting with requests and responses to deduce functionalities .

Black box testing assesses the system based on inputs and outputs without knowledge of the internal code structure, focusing on functional aspects . In contrast, white box testing involves examining the internal logic and code structure to validate performance, informed by understanding code paths, conditions, and logic . These approaches differ in transparency and focus but complement each other in a holistic test strategy.

You might also like