Vous êtes sur la page 1sur 15

Gabriel Innocent Okello

okellogabrieliinocent@gmail.com
@okellogabriel
0772248069
0756514003
Software Testing and CI

Software Testing:

A process of analyzing a software item to


detect the differences between existing
and required conditions (i.e., defects) and
to evaluate the features of the software
item.
Why is Software Testing
Make sure that product is defect-free.

lower maintenance cost

Ensure software quality

It performs a root cause analysis for which helps in making it


more efficient.

Reliability of software can be measured by certification or its


conformation with any set technical standard.
Types Of Software Testing

Manual Testing: Testing software by hand


thus verifying all the features specified in
User Stories/requirements, but often also
includes the Testers trying the software with
the perspective of their end user’s in mind.
Types Of Software Testing

Automation Testing: Testing the software


using an automation tool to find the defects.
Testers execute the test scripts and generate
the test results automatically by using
automation tools. i.e. Selenium
Testing Methods:
Static/Verification Testing:
Is a static method of checking documents
and files, to ensure that whether we are
building the product right i.e., to verify the
requirements which we have and to verify
whether we are developing the product
accordingly or not.
Testing Methods:
Dynamic/ Validation Testing:
Is a dynamic process of testing the real
product, whether we are building the right
product i.e., to validate the product which we
have developed is right or not.
Testing Approaches:
White Box Testing: Test aganist applications internal code structure, an internal
perspective of the system, as well as programming skills, are used to design test
cases.
This testing is usually done at the unit level.

Black Box Testing: Testers evaluate the functionality of the software under test
without looking at the internal code structure.
- Functionality; Testing to verify that each function of the software application meets
the requirements. Eg. unit testing, integration testing, acceptance test etc.
- Non-functionality; Testing the aspects of the software such as performance, load,
stress, scalability, security, compatibility.
Continues Intergration (CI)
Is the practice of automating the integration of
code changes from multiple contributors into
a single software project.
The CI process is comprised of automatic
tools that assert the new code’s correctness
before integration
Why Continuous Integration
- Say goodbye to long and tense integrations
- Increase visibility enabling greater communication
- Catch issues early and nip them in the bud
- Spend less time debugging and more time adding features
- Build a solid foundation
- Stop waiting to find out if your code’s going to work
- Reduce integration problems allowing you to deliver software
more rapidly
Continues Intergration (CI)

Run Tests
1 2
Make Change

Fix
Pass Fail Code
Pillars of Continuous Integration

- Automated testing,
- Version control,
- Build automation, and
- Automated deployments.
Tools
Bitbucket Pipelines
Jenkins
AWS CodePipeline
CircleCI
Azure Pipelines
GitLab
Atlassian Bamboo
References

- https://www.geeksforgeeks.org/software-testing-basics/

- https://en.wikipedia.org/wiki/Software_testing
- https://www.atlassian.com/continuous-delivery/continuous-
integration

Vous aimerez peut-être aussi