Sei sulla pagina 1di 35

Testing

IT Project Testing ©2020


Types of Software Testing

 Black Box Testing  Beta testing


 White Box Testing  Security testing
 Stress Testing  Functional Testing
 Unit Testing  Integration Testing
 System testing  Regression Testing
 Acceptance testing  Stability Testing
 Performance testing  Usability Testing
 User acceptance testing …and many more

IT Project Testing ©2020


Types of Software Testing (cont.)

 Each of the software testing type is designed to validate software for one or more of the
mentioned quality factors.
 More types of software testing have evolved to keep up with the:
 rapid increase in complexity of the software design,
 frameworks & programming languages,
 increased number of users with popularity of internet,
 advent of new platforms & technologies

IT Project Testing ©2020


Why are there so many types of software
testing?
6 Quality Factors:
 Functionality

 Reliability

 Efficiency

 Usability

 Maintainability

 Portability

IT Project Testing ©2020


Software Testing Hierarchy

 Unit Testing – performed in each module or block of code during Acceptance


Acceptance Testing
Testing
development. Done by the developer.
 Integration Testing – done before, during and after integration of a
new module into the main software package. Performed by multiple
System
System Testing
Testing
programmers.
 System Testing – done by a professional test agent on the completed
product before it is introduced to the market.
Integration
Integration Testing
Testing
 Acceptance Testing – beta testing of the product performed by end-
users.

Unit
Unit Testing
Testing

IT Project Testing ©2020


Performance Testing are basically for system level testing, to see whether or not the system will stand up
to a high volume of usage.

Volume Testing is to check that the system can handle a large amount of data. e.g. many records in a file.

Stress Testing is to what would happen outside its design expectations with respect to load or volume e.g.
too many users, too much data, too little time and too little room.

Interoperability & Compatibility Testing-Check browser compatibility in a cloud environment

Security Testing-Data must be encrypted well

Database Testing - Structural database testing, Functional database testing, Checking data integrity and
consistency

IT Project Testing ©2020


The Five Essentials for Software Testing
 Test Strategy – identifies the types of testing & the amount of testing you think will work
best at finding the defects that are lurking in the software
 Test Plan – the actual testing tasks you need to execute to carry out that strategy
 Test Cases – detailed examples you will use to check that the software will actually meet
its requirements
 Test Data – consisting of both input test data and database test data to use while executing
your test cases
 Test Environment – a place to carry out your testing

IT Project Testing ©2020


Test Plan vs Test Strategy
Test Plan Test Strategy

IT Project
- A document that defines the scope, objective, approach and emphasis - A set of guidelines that explain test design and determines how testing
on test effort. needs to be done.
- TP Components: TP ID, features to be tested, test techniques, testing - TS Components: objective, scope, documentation format, test

Testing
tasks, pass or fail criteria, test deliverables, responsibilities, schedule, processes, team reporting, structure, client communication strategy, etc.
etc.

- Performed by testing manager or lead that describes ‘how’, ‘when’, - Performed by the PM. It says what type of technique to follow and

©2019
‘who’, ‘what’ which module to test.
- The test plan narrates about the specification - Test strategy narrates about the general approaches

- Test plan can change - Test strategy cannot be changed

- Done to determine possible issues and dependencies in order to identify - It is a long-term plan of action. You can abstract information that is not
the risks. project specific and put into test approach.

- A test plan exists individually - In smaller project, test strategy is often found as a section of a test plan.

- Is defined at project level - Is set at organizational level and can be used by multiple projects.
Please see the :-
TestPlan.docx file for
reference.

IT Project Testing ©2020


IT Project Testing ©2019
Test Case Sample
Unit Testing

IT Project Testing ©2020


What is Unit Testing?

 A unit can be a function, a class, a package, or a subsystem.


 The term unit testing refers to the practice of testing such small units of your
code, so as to ensure that they work as expected.
 This practice helps developers to discover failures in their logic behind their code
and improve the quality of their code.
 Also, unit testing can be used so as to ensure that the code will work as expected
in case of future changes.
 The most popular testing framework in Java is JUnit.

IT Project Testing ©2020


Introduction to JUnit

 JUnit is an open source testing framework which is used to write and run
repeatable automated tests, so that we can be ensured that our code works as
expected.
 JUnit is widely used in industry and can be used as stand alone Java program
(from the command line) or within an IDE such as NetBeans.
 JUnit provides:
• Assertions for testing expected results.
• Test features for sharing common test data.
• Test suites for easily organizing and running tests.
• Graphical and textual test runners.

IT Project Testing ©2020


Introduction to JUnit

 JUnit is used to test:

• an entire object
• part of an object - a method or some interacting methods
• interaction between several objects

IT Project Testing ©2020


JUnit Example

IT Project Testing ©2020


JUnit Example

IT Project Testing ©2020


JUnit Example

Console Output

JUnit Output
IT Project Testing ©2020
Unit Testing
Advantages of Unit Testing:
 Issues are found at early stage
 Helps in maintaining and changing the code
 Safe refactoring. Allows refactoring without fear of breaking the code.
 Helps in reducing the cost of bug fixes
 Helps in simplifying the debugging process
 Enables developers to concentrate on the code and design.

IT Project Testing ©2020


Integration Testing

IT Project Testing ©2020


Integration Testing
 integration testing: Testing performed to expose defects in the interfaces and in the
interactions between integrated components or systems. 
 system integration testing: Testing the integration of systems and packages; testing interfaces
to external organisations (e.g. Electronic Data Interchange, Internet).
 Also termed as "I&T" (Integration and Testing), "String Testing", or "Thread Testing"

IT Project Testing ©2020


Integration Testing

 Method – Block Box, White Box and  Integration Test Cases/Scripts


Grey Box Testing  Prepare
 Review
 Tasks  Rework

 Integration Test Plan


 Baseline

 Prepare  Integration Test


 Review  Perform
 Rework
 Baseline

IT Project Testing ©2020


Why Integration Test?

 Because applications are developed by different individuals with different coding


styles and logic -> it is important to implement cohesive logic and target the
required expectations with correct value in accordance with the prescribed
standards.
 Because data changes as it travels from one module to another and some values
might be removed or appended -> this might cause issues in the later modules.
 Modules interact with third party tools and API's which need to be tested -> the
data consumed by the API/tool is correct and that the response generated is also as
expected.
 Solve common testing problem -> frequent requirement change!

IT Project Testing ©2020


IT Project Testing ©2020
Testing Management
IT Project Testing ©2020
The concept of Test Management
 An important part of software quality is the process of testing and validating the software. 
 Test management is the practice of organizing and controlling the process and artefacts
required for the testing effort.
 Traditional tools used for test management include:
 Pen and paper
 Word processors
 spreadsheets
 Larger testing efforts may use home-grown software test management solutions, usually built
on spreadsheets or databases, or commercial test management applications

IT Project Testing ©2020


Objectives
 Facilitate software quality assurance
 To allow teams to plan, develop, execute, and assess all testing activities within the overall
software development effort.
 This includes coordinating efforts of all those involved in the testing effort, tracking dependencies
and relationships among test assets and, most importantly, defining, measuring, and tracking quality
goals.
 Management of the testing team - This requires controlling user security and permissions for testing
members and artefacts.
 Organizing site and team coordination (for bigger scale)

IT Project Testing ©2020


Related Software Development
Disciplines
 Requirements management is a precursor to the bulk of the testing effort,
providing a significant amount of test motivation and validation needs.
 Change management affects all parts of software development, but the tracked
changes most relevant to the testing effort are defects.
 Configuration management is important to test management because tracking
which builds to test at what time is crucial to testing. 

IT Project Testing ©2020


Test Management Challenges

One way to sum up the objectives of test management is answering the following
questions:
 Why should I test?
 What should I test?
 Where do I test?
 When do I test?
 How do I conduct the tests?

IT Project Testing ©2020


Obstacles in Software Development

 Not enough time to test


 Not enough resources to test
 Testing teams are not always in one place
 Difficulties with requirements
 Keeping in sync with development
 Reporting the right information

IT Project Testing ©2020


Test Management Model
Characterised by the following points:
 The model is an integral unit of coordinated activities. It is an approach that offers support from the
beginning of a test project up to the moment of implementation and transfer.
 The model is made up of modular units. While the integration of the management activities delivers
considerable added value, it is also possible to introduce a part of the activities into an organisation.
Introduction of the approach can therefore be tailored to every organisation.
 The model is dynamic and iterative. This means that during the course of a project, it is possible to go
back to earlier phases; for example, to adjust the test strategy in the event of altered product risks. This allows
experience to be directly applied to the project.

IT Project Testing ©2020


Test Management
Model

IT Project Testing ©2020


Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Week 11 Week 12 Week 13Week 14Week 15Week 16

W W W W W W W W W W W W W W W W

Week 1 Project Start


Week 2 Proposal Under Progress
Week 3 Proposal Under Progress
Week 4 Proposal Submitted
Week 5 Dev
Week 6 Dev
Week 7 Dev - MidPresentation
Week 8 Dev- MidPresentation
Week 9 Dev- MidPresentation
Week 10 Dev/Testing/ MidPresentation
Week 11 Testing
Week 12 Testing
Week 13 Client Handover
Week 14 Video / Academic Handover
Week 15 Panel Presentation
Week 16 Panel Presentation IT Project Testing ©2020
IT Project         Testing          ©2020
IT Project         Testing          ©2020
IT Project         Testing          ©2020

Potrebbero piacerti anche