You are on page 1of 58

Software Testing

Presenter: Khanh Do

1
Why does software have bugs?
● Miscommunication
● Programming errors
● Timeline pressures
● Change in requirements
● Software complexity

2
What is Quality Assurance?
● QA stands Quality Assurance. QA is a set of activities designed to ensure
that the developed software meets all the specifications or requirements
mentioned in the SRS document.

3
Explain what should your QA documents include?
● List the number of defects detected as per severity level
● Explain each requirement or business function in detail
● Inspection reports
● Configurations
● Test plans and test cases
● Bug reports
● User manuals
● Prepare separate reports for managers and users

4
Explain what should your SQA documents include?
● Requirement Document
● Test Metrics
● Test cases and Test plan
● Task distribution flow chart
● Transaction Mix
● User profiles
● Test log
● Test incident report
● Test summary report

5
What do you know about the SDLC?
● The software development life cycle is SDLC, which is a standard
development framework and the foundation for the processes like
Waterfall, Spiral, V Model, and Agile.

● It breaks down the entire development into multiple stages known as the
SDLC phases like requirement collection, analysis, design,
implementation/coding, testing/validation, deployment, and finally, the
maintenance.

6
What does it mean by STLC?
The STLC is an acronym for the Software Testing Life Cycle. It is a testing
model that proposes to execute test execution in a systematic and planned
way. In the STLC model, many activities occur to improve the quality of the
product.

The STLC model lays down the following steps:

● Requirement Analysis
● Test Planning
● Test Case Development
● Environment Setup
● Test Execution
● Test Cycle Closure 7
What are Test Cases?

● A test case is a sequence of actions and observations that are used to


verify the desired functionality.
● A good test case helps to identify problems in the requirements or design
of an application.

8
What are the functional test cases?

● Functional test cases are those that confirm that the application executes
a specified business function. Most of these tests take the form of user or
business cases that resemble the standard transactions.

9
What are the non-functional test cases?

● Non-functional testing is done to validate the non-functional aspects


(such as performance, usability, reliability) of the application under test.

10
What are the best practices for writing test cases?

● Write test cases with end-users perspective


● Write test steps in a simple way that anyone can follow them easily
● Make the test cases reusable
● Set the priority
● Provide a test case description, test data, expected result, precondition,
postcondition.
● Write invalid test cases along with valid test cases
● Follow proper naming conventions
● Review the test cases regularly and update them if necessary.
11
What are Functional Requirements?

The functional requirements specify the behavior or function. Some of these


are as follows:

● Authentication
● Business rules
● Historical Data
● Legal and Regulatory Requirements
● External Interfaces

12
What are Non-Functional Requirements?

The non-functional requirements specify how the system should behave.


Some of these are as follows:

● Performance
● Reliability
● Security
● Recovery
● Data Integrity
● Usability

13
What is the difference between High level and
Low-Level test cases?
● High-level test cases cover the core functionality of a product like
standard business flows.
● Low-level test cases are those related to user interface (UI) in the
application.

14
What is a Test Scenario?

● Test Scenario represents a condition or a possibility which defines what to


test.
● It can have multiple test cases to cover a scenario.

15
How is a Test Case different from a Test Scenario?

● A test case is a testing artifact to verify a particular flow with defined input
values, test preconditions, expected output, and postconditions prepared
to cover specific behavior.
● A test scenario can have one or many associations with a test case, which
means it can include multiple test cases.

16
What is a Test Suite?

● A test suite is a group of test cases. Each test case intends to test the
application functionality.

17
What are the documents you may refer while
writing the test cases?
● Requirement specs doc
● Feature description doc
● User stories description
● Use cases description
● Acceptance criteria

18
What are the characteristics of a good test case?
● Title: A clear and one-liner title to show the intent of the test case.
● Purpose: A brief explanation of the reason the test case is getting
created.
● Description: A representation in words of the nature and characteristics
of the test case.
● Test objects: An unambiguous feature or module getting tested.
● Preconditions: The conditions that must get satisfied during test
execution.

19
What is a good test case?
A test case is a sequence of operations controlled by constraints to determine
an application, product or service is working correctly to the expectations.
Make sure it covers all the test conditions and provides a proper definition.
Next, read the below examples and see the difference between a bad and
good test case.

● Bad test case.


○ Verify if login works.
● Good test case.
○ Open the login screen, enter the username – xyz@testmail.com and password
as “12345678”.
○ Press the login button.
20
○ Verify if the user dashboard is visible in not more than 2 seconds.
What are the contents of test plans and test cases?
● Testing objectives
● Testing scope
● Testing the frame
● The environment
● Reason for testing
● The criteria for entrance and exit
● Deliverables
● Risk factors

21
What is a Test Metric in software testing and what
information does it contains?
● Total test
● Test run
● Test passed
● Test failed
● Tests deferred
● Test passed the first time

22
Explain what is traceability matrix?
● A test matrix is used to map test scripts to requirements.

● Traceability matrix is a document that maps and traces user requirements


with test cases. The main aim of Requirement Traceability Matrix is to see
that all test cases are covered so that no functionality miss during the
software testing.

23
What is the difference between functional and
nonfunctional testing?
● Functional testing takes care of the validation of features in an
application. It ensures that the application is behaving in the expected
manner.
● It also confirms the application meets the customer requirements. Every
such requirement has related test cases and each test case should pass
before exiting the functional testing
● Regression, Smoke, Integration and System testing are types of Functional
testing.

24
What is the difference between functional and
nonfunctional testing?
● Non-functional testing focuses on the performance, load and stress
testing of the application.
● In this, QA gathers the data, assess and find the benchmark values.
Sometimes, this data is critical for the release approvals.

25
What is white box testing and black box testing?
● Black box testing means testing the software for the outputs on giving
particular inputs. This testing is usually performed to see if the software
meets the user's requirements. There is no specific functional output
expected for running this test.

● The white box testing is done to check the accuracy of code and logic of
the program. This testing is done by the programmer who knows the
logical flow of the system.

26
Equivalence partitioning
● Its purpose – Reduce the number of test cases. It works by identifying
different sets of data. Each set has unique data values. One test from
each set of data gets executed.

27
Boundary Value Analysis
● Its purpose – Check the behavior of the system at the boundaries of
allowed data.

28
State Transition Testing
● Its purpose – Verify the allowed and disallowed states and transitions
from one state to another by various input data.

29
Decision Table Testing
● Its purpose – Work with the different combination of inputs and their
associated outputs.
● It is a black box test design technique to determine the test scenarios for
complex business logic.

30
Pairwise Testing
● Its purpose – Reduce the number of test cases while increasing the
coverage of feature combinations.

31
Explain the Positive Testing approach?
● The purpose of this testing is to ensure whether the system is confirmed
to the requirements or not.

32
Explain the Negative Testing approach?
● The purpose of this testing is to identify what the system should not do. It
helps uncover potential flaws in the software.

33
What is the difference between verification and
validation?
● Verification and validation are two critical processes that quality
assurance engineers use when testing software quality and performance.
Consider providing a brief explanation of the two processes and how they
relate to your tasks as a QA engineer.

34
What is a Test Plan?
● The Test Plan document is a document which contains the plan for all the
testing activities to deliver a quality product. The test Plan document is
derived from many activities such as product description, SRS, or Use
Case documents for all future events of the project. The Test Lead usually
prepares it, or Test manager and the focus of the document is to describe
what to test, how to test when to test, who will do what test.

35
What is Test strategy?
Test strategy helps to define the testing process that would take place in a
software development cycle. It consists of testing tasks, and lets managers
and developers know about the issues as and when they get discovered. It
includes the following information.

● Introduction,
● Resource,
● Scope and schedule for test activities,
● Required Test tools,
● Definition of Test priorities,
● Test planning and the types of test to run.
36
What are the different levels in software testing?
● Unit/Component testing
● Integration testing
● System testing
● Acceptance testing

37
How do you define the bug life cycle?
● Bug life cycle comprises of numerous statuses of an error during its life
cycle. A few examples are open, deferred, solved, reopened, fixed, solved
and closed. You may also speak about this process and how you monitor
and determine the status with the help of several points.

38
When do you decide to stop testing?
● Deadlines (Release or Testing timelines)
● Test case completion with expected pass percentage.
● Testing cost overruns.
● Attained the desired coverage of code/functionality/requirements.
● Defect discovery rate falls below the threshold.

39
What is meant by Test Coverage?
● Test coverage is a quality metric to represent the amount (in %) of testing
completed for a software product.
● It is applicable for both functional and non-functional testing activities.
This metric helps testers to add missing test cases.

40
List out Test Deliverables?
1. Test Strategy
2. Test Plan
3. Effort Estimation Report
4. Test Scenarios
5. Test Cases/Scripts
6. Test Data
7. Requirement Traceability Matrix (RTM)
8. Defect Report/Bug Report
9. Test Execution Report
10. Graphs and Metrics
11. Test summary report
41
List out Test Deliverables?
12. Test incident report
13. Test closure report
14. Release Note
15. Installation/configuration guide
16. User guide
17. Test status report
18. Weekly status report (Project manager to client)

42
Tell me about yourself

43
What are you passionate about?

44
What are your goals for the future?

45
Why do you like this job?
● Firstly, because that is the job where the result of your efforts it is a good
product that you want to enjoy. The work is included processing with
program data and with a variety of development options. Search for bugs
and writing user cases that facilitate the development, and allows you to
adopt the product for usage by the user. Here you need to have full
information about both the device and the product in order to find the
most hidden bugs or possible malfunctions during the program
operation.

46
Are you better working in a team or working alone?
● I get along with other people very well and I like to work in a team. I’d say
that I’m a team player. To my mind, the tasks may be done more
efficiently when you have several meanings concerning some of them.

47
How to deal with your team members?
● I think that I will be working in a big QA department which consists of
people with different lifestyles, hobbies, tastes and so on. From my
experience, the first step of the establishment of nice relationships with
your team is to cope with them during the coffee break.

48
Do you have any situations in the past where you
have some arguments with your team members?
● From my experience, I don’t have any situations where I had some conflict
with my team members.

49
Talk about a conflict or challenge you faced at
work, and how you handled it?
● In my job, I’m dealing with customers and we have been disagreements
that needed to be resolved, so I briefly explained my position and then
suggested a plan to resolve the issue effectively that enabled us to
maintain him as a client. I think everyone should face challenges you will
gain knowledge while you face’s challenge.

50
What is your goal?

● My goal is to be hired to this job position and to provide a company with


the highly-qualified specialist and then to develop my skills more and
more.

51
What are your career goals?

● I want to develop myself in QA and to become the best in this area,


learning and studying as much as I can.And I would like to become a lead
and a mentor to help others in their development.

52
What is your weakness?

● My weakness is that I am very cautious. If I have to do some work and


there is a deadline I will examine it very carefully and many times before
deadline.

53
What are your strengths?

● One of my strength is my good memory. I can remember a lot of


information and keep it in my mind for a long period of time. Another my
strength is that I am rather dedicated to my job.

54
What do you want to be in next 2-5 years?

● I plan to raise my level to Middle QA Engineer and become a QA lead.”


Why QA Lead? Why not something else? I want to know how to handle
different jobs how to manage QA process and so on.

55
Why are you looking for another job?

● At first, I would like to thank my previous company. Where I have a good


chance to learn lots of things like great technical skills, teamwork, time
management and professionalism. Second thing is that I want to be
learned new skills and enhance my knowledge for the better future both
things are not filled the that’s the reason I left my last job. Right now I am
looking new challenge where I growth my skills and development
professional and financial growth.

56
Why should we hire you?

● I really fit for this position because I have the great experience in this field.
I will be a good team player because I enjoy the team atmosphere. I like
the Software testing process and when team members work
hand-in-hand with each other to reach the goal in the specified timeline. I
think your company is the right place to explore my skill and I want to be
a part of your success.

57
Thanks
58

You might also like