QA notes for freshers · Manual testing

Manual Testing Basics, Jira and Sprints

Read this once from top to bottom. Every word is explained in simple language with an example.

1. What is software testing?

Testing means using an app like a user and checking that it works the way it should. If it does not, we report the problem (called a bug) so developers can fix it before real users face it.

Manual testing means a person does the checking by hand: opening the app, clicking, typing, and comparing what happens with what was expected. No code is needed.

Simple example: a login page. You type a correct email and password and click Login. You expect the Home page to open. If an error comes instead, that is a bug.

2. SDLC: how software is built

SDLC means Software Development Life Cycle. It is the set of steps a team follows to take software from an idea to a live product. Testing is one step, but a good tester is involved in every step.

Requirement gathering→Planning and analysis→Design→Development (coding)→Testing→Deployment→Maintenance
PhaseWhat happensTester's part
Requirement gatheringBusiness explains what is needed. Written as documents or user stories.Read it, find unclear or missing points, ask questions.
Planning and analysisTeam decides scope, time, cost, people, risks.Prepare the test plan and estimate effort.
DesignScreens (UI) and system structure are designed.Review the design, start writing test scenarios.
DevelopmentDevelopers write the code.Write test cases, prepare test data and environment.
TestingThe built app is tested and bugs are fixed.Execute tests, report and retest bugs.
DeploymentApp goes live for users (release).Smoke test on production after release.
MaintenanceFixing issues and adding new features after release.Regression testing for every change.
SDLC vs STLC: SDLC is the whole journey of building software. STLC is only the testing journey inside it.

SDLC models (ways of following the steps)

ModelHow it worksGood / Bad
WaterfallOne phase after another, no going back. Testing starts only after coding is fully finished.Simple and clear. But bugs are found late and changes are hard.
V-ModelEvery development phase has a matching testing phase, planned at the same time.Testing starts early. But still rigid like Waterfall.
Iterative / IncrementalBuild the product in small parts, one after another, improving each time.Early working parts. Needs good planning of parts.
SpiralRepeated cycles, each one with risk analysis.Good for big risky projects. Costly and complex.
AgileShort sprints (1 to 4 weeks). Design, code and test together. Feedback every sprint.Flexible, fast feedback. Needs strong teamwork. Most companies use this today.

V-Model: which testing matches which phase

Development sideTesting side
Requirement analysisAcceptance testing (UAT)
System designSystem testing
Architecture designIntegration testing
Module design and codingUnit testing

3. Important words you must know

TermMeaning in simple words
Bug / DefectSomething that does not work as expected.
RequirementWhat the app should do, as written by the business or product team.
Test scenarioOne-line idea of what to test. Example: "Check login".
Test caseStep-by-step instructions with expected result. Example: enter valid email, enter valid password, click Login, home page opens.
Test dataThe values you type in while testing (emails, passwords, amounts).
Test suiteA group of related test cases, such as all login test cases.
Test planA document saying what to test, who tests, when, and with which tools.
BuildA new version of the app given to testers.
EnvironmentThe place where the app runs: Dev (developers), QA/Test (testers), Staging (final check, like real), Production (real users).
Expected / ActualExpected = what should happen. Actual = what really happened. A difference means a bug.
Verification"Are we building the product right?" Checking documents and design, without running the app.
Validation"Are we building the right product?" Running the app to see that it meets the user's need.
QA vs QCQA (Quality Assurance) is about the process, to prevent bugs. QC (Quality Control) is about checking the product, to find bugs. Testing is part of QC.

4. Types of testing

TypeWhat it means
Smoke testingQuick check of the main features right after a new build. If basic things fail, we reject the build. Like checking whether a machine switches on.
Sanity testingSmall, focused check after a bug fix or small change, to see that the change works.
Regression testingChecking that old working features still work after new changes. This is the work that is later automated.
RetestingRunning the same failed test again after the developer fixes the bug.
Functional testingChecks what the app does (login, search, payment).
Non-functional testingChecks how well it does it: speed (performance), safety (security), ease of use (usability), many devices (compatibility).
Exploratory testingTesting without fixed steps, using your own thinking and curiosity to find bugs.
UATUser Acceptance Testing. The client or business user checks the app before go-live.
Black box / White boxBlack box: you test without seeing the code (testers do this). White box: you test knowing the code (developers do this).

Levels of testing (small to big)

Unit→Integration→System→UAT

5. STLC: steps a tester follows

STLC means Software Testing Life Cycle.

Understand requirements→Plan→Write test cases→Set up environment→Execute tests→Report bugs→Close and report

6. Writing a test case

FieldExample
Test case IDTC_LOGIN_01
TitleLogin with valid email and password
PreconditionUser account already exists
Steps1. Open login page. 2. Enter valid email. 3. Enter valid password. 4. Click Login.
Expected resultUser lands on the Home page
Actual resultFilled while testing
StatusPass or Fail
Good test cases cover positive (valid input), negative (wrong input) and edge (limits, like empty or very long text) situations.

7. Bug report and bug life cycle

A good bug report lets the developer repeat the problem without asking you anything. Include:

Severity vs priority

MeaningExample
SeverityHow badly the bug hurts the app (decided by tester).App crashes on payment: High.
PriorityHow soon it must be fixed (decided by business).Company logo spelled wrong on home page: Low severity, High priority.

Bug life cycle

New→Assigned→In progress→Fixed→Retest→Closed

If the bug still happens after the fix, status becomes Reopened. If it is not really a bug, it can be Rejected. If it will be fixed later, it is Deferred.

8. More types of testing

TypeWhat it checks
PerformanceSpeed and stability. Load: expected number of users. Stress: far more than expected, to see when it breaks. Spike: sudden jump of users. Endurance: long running time. Tool: JMeter.
SecurityCan data be stolen or misused? Login rules, SQL injection, access control.
UsabilityIs it easy and clear for a normal user?
CompatibilityWorks on different browsers, devices, screen sizes and operating systems (cross-browser testing).
AccessibilityUsable by people with disabilities, for example screen reader support and enough colour contrast.
LocalizationCorrect language, date, currency and number format for each country.
Database testingData saved in the database is correct and complete.
Ad-hocRandom testing without planning or documents.
Monkey testingRandom clicks and inputs to check the app does not crash.
Alpha / BetaAlpha: tested inside the company by internal users. Beta: given to a small group of real users outside before the final release.
Static vs dynamicStatic: reviewing documents and code without running the app. Dynamic: running the app and testing it.
End-to-endTests a full user journey across all parts, for example: sign up, search, add to cart, pay.

9. Test documents and measuring quality

Entry and exit criteria

Requirement Traceability Matrix (RTM)

A table that links each requirement to its test cases and bugs. It proves that every requirement is tested and nothing is missed.

RequirementTest casesStatusBug
REQ-01 User can log inTC_LOGIN_01 to 08PassedNone
REQ-02 User can reset passwordTC_PWD_01 to 061 failedBUG-45

Test environment and test data

The test environment should be as close to real (production) as possible. Test data should be realistic but never real customer data. Prepare it before starting.

Test closure and reports

At the end the tester shares a summary: how many tests were planned, run, passed, failed, which bugs are still open, and whether the build is safe to release.

Common measures (metrics)

MetricMeaning
Test case pass %Passed tests divided by executed tests, times 100.
Defect densityNumber of bugs per size of the module (for example per 1000 lines of code).
Defect leakageBugs that testers missed and users found after release. Lower is better.
Test coverageHow much of the requirements or code is covered by tests.
Defect ageHow many days a bug stays open.

Risk-based testing

When time is short, test the parts that are most used and most damaging if they fail first (payment, login), and the less important parts later.

10. Agile, Scrum and sprint

Agile means building software in small pieces, with frequent feedback, instead of one big delivery at the end. Scrum is the most popular way to do Agile.

WordMeaning
SprintA fixed work period, usually 2 weeks. The team builds and tests a few features in it.
Product backlogThe full list of work wanted for the product.
Sprint backlogThe work the team chose for the current sprint.
User storyA feature written from the user's view: "As a user, I want to reset my password so that I can log in again."
Acceptance criteriaConditions that must be true for the story to be called done. Testers write test cases from these.
Story pointsA number showing how big or hard a story is.
Sprint planningMeeting at the start: decide what to do in this sprint.
Daily stand-up15-minute daily meeting: what I did yesterday, what I will do today, any blockers.
Sprint review / demoAt the end: show finished work to the stakeholders.
RetrospectiveTeam talks about what went well and what to improve.
Definition of DoneTeam's checklist for a story to be fully complete, including tested.

Roles: Product Owner (decides what to build), Scrum Master (helps the team follow the process), Developers, and QA/Testers.

11. Jira: tickets, board and sprint

Jira is a tool used by teams to track work. Every piece of work is a ticket (also called an issue) with a key like PAY-123.

Ticket types

TypeUse
EpicA big feature made of many stories. Example: "User Login".
StoryOne small feature for the user.
TaskA technical or general work item.
BugA defect found in testing. Testers create these.
Sub-taskA small part of a story, e.g. "Write test cases".

Important fields in a ticket

Summary (title), Description, Assignee (who works on it), Reporter (who created it), Priority, Status, Sprint, Labels, Story points, Attachments, Comments.

Jira board

A board shows tickets as cards in columns. You drag a card to the next column as work moves ahead.

To Do→In Progress→In Review→In QA / Testing→Done

A Scrum board shows only the current sprint. A Kanban board shows continuous flow without sprints.

A tester's day in Jira

  1. Open the story in the sprint and read the description and acceptance criteria.
  2. Write test cases (often as sub-tasks or in a test management tool).
  3. When the story reaches "In QA", test it on the QA environment.
  4. If something fails, create a Bug ticket, link it to the story, and assign it to the developer.
  5. After the fix, retest. Pass: close the bug and move the story to Done. Fail: reopen with a comment.

More Jira things asked in interviews

JQL: Jira's search language

project = PAY AND issuetype = Bug AND status != Done
assignee = currentUser() ORDER BY priority DESC
sprint in openSprints() AND issuetype = Bug

These find: all open bugs in project PAY; tickets assigned to me, highest priority first; bugs in the current sprint.

12. How to answer common fresher questions

13. Quick interview answers