You are on page 1of 20

SOFTWARE

TESTING
Hello!
Coach Ticket Selling
✗ Trần Công Mẫn
✗ Trần Minh Duy
✗ Nguyễn Huỳnh Phương Thanh

2
I. Intro
II. Development testing
1. Unit Testing
2. Choosing unit test cases

OUTLINE
3. Component testing
4. System testing
III. Test-Driven development
IV. Release testing
1. Requirements-based testing
2. Scenario testing
3. Performance testing
V. User testing

3
1
INTRODUCTION
✗ Software Testing is a method to check whether the
actual software product matches expected
requirements and to ensure that software product is
 Defect free. It involves execution of
software/system components using manual or
automated tools to evaluate one or more properties
of interest. The purpose of software testing is to
identify errors, gaps or missing requirements in
contrast to actual requirements.

5
2 Test-driven
development
TEST DRIVER DEVELOPEMT
1. You start by identifying the increment of functionality that is required. This should normally be small
and implementable in a few lines of code.
2. You write a test for this functionality and implement this as an automated test. This means that the test
can be executed and will report whether or not it has passed or failed.
3. You then run the test, along with all other tests that have been implemented. Initially, you have not
implemented the functionality so the new test will fail. This is deliberate as it shows that the test adds
something to the test set.
4. You then implement the functionality and re-run the test. This may involve refactoring existing code to
improve it and add new code to what’s already there.
5. Once all tests run successfully, you move on to implementing the next chunk of
functionality

7
advantages
• 1. Code coverage In principle, every code segment that you write should have at least one associated test.
Therefore, you can be confident that all of the code in the system has actually been executed. Code is tested
as it is written so defects are discovered early in the development process.
• 2. Regression testing A test suite is developed incrementally as a program is developed. You can always run
regression tests to check that changes to the program have not introduced new bugs.
• 3. Simplified debugging When a test fails, it should be obvious where the problem lies. The newly written
code needs to be checked and modified. You do not need to use debugging tools to locate the problem.
Reports of the use of test-driven development suggest that it is hardly ever necessary to use an automated
debugger in test-driven development (Martin, 2007).
• 4. System documentation The tests themselves act as a form of documentation that
describe what the code should be doing. Reading the tests can make it easier to understand the code.

8
4 RELEASE
TESTING
✗ Release testing is the process of
testing a particular release of a
system that is intended for use
outside of the development team.

10
GOALS

✗ Convince the supplier of the system that it is good


enough for use.
✗ Smooth functionality, performance, and
dependability.
✗ Take into all of the system requirements

11
categori
es
📌 Requirements – based Testing
📌 Scenario Testing
📌 Performance Testing

12
REQUIREMENT – BASED
TESTING
✗ Good requirement: testable

✗ Check requirements are satisfied

✗ Requirements – based testing is a systematic approach


to test case design where you consider each
requirement and derive a set of tests for it.

13
REQUIREMENT – BASED
TESTING
Defining
Defining
Test
Test
Completio
Completio
n
n Criteria
Criteria

Track
Track and
and Design
Design
Manage
Manage Test Cases
Test Cases
Defects
Defects

Verify
Verify Test
Test Execute
Execute
Coverage
Coverage Tests 
Tests 

Verify
Verify Test
Test
Results
Results

14
SENARIO TESTING

15
PERFOMANCE TESTING

16
PERFOMANCE TESTING

17
5. USER
TESTING

18
User testing
User testing

Alpha Testing Beta Testing Acceptance Testing

19
Thanks for
watching!
Any questions?
You can find me at:

20

You might also like