Beruflich Dokumente
Kultur Dokumente
OBJECTIVES
AUDIENCE
PREREQUISITES
● Students should have some general understanding of the software development cycle.
APPROACH
JENKINS OVERVIEW
MEET JENKINS
Jenkins is an open source automation server that enables developers around the world to reliably build,
WHAT IS JENKINS
CONTINUOUS WORKFLOW
After the code has been completed, what activities are required to release that modification?
SUMMARY OF REQUIRED ACTIVITIES
CONTINUOUS PHILOSOPHY
● A Pull Request is a way of proposing a change to others without writing to their repository
■ A branch is pushed to the central server
■ It "asks" to be merged to the central repository
■ Opportunity is given to review the changes before merging
■ Pull request ends by being closed or merged to destination branch
SOFTWARE TESTING
TESTING GOALS
● Validate that the software meets its goals
● Search for defects that can be fixed to improve software quality
● Facilitate refactoring and upgrades by validating that everything is still working after
TEST ACTIVITIES
TEST ACTIVITIES
AUTOMATED TESTING
TYPES OF TESTING — FASTER
TYPES OF TESTING — SLOWER
MANUAL TESTING
● Tests at the bottom of the pyramid run quickly and inexpensively and should be run very
frequently
● Tests at the top of the pyramid take more time to run and are expensive; they should be run
less frequently and only on software that has passed the tests lower on the pyramid.
THE TESTING PORTFOLIO
● Jenkins enables you to run large numbers of tests frequently and at appropriate
stages in the build cycle
■ Unit tests usually run every time you compile the code
■ You can define whether functional and non-regression tests run
if the unit tests fail
■ Large, broad tests can be set up to run periodically, perhaps during
non-work hours, rather than being run each time new code is committed
READ MORE ABOUT SOFTWARE TESTING
● Software testing is a vast subject with many excellent courses, books, and articles available.
Here are a few articles to get you started:
■ The stackoverflow What are unit tests, integration tests, smoke tests, and regression
tests? discussion introduces the types of testing you can do
■ Wikipedia article about Software Testing provides a comprehensive summary and
bibliography about types of testing and tools to use
■ Martin Fowler writes extensively about software development, and proper testing
figures prominently in his writing.
○ To get started, read the articles on his tagged by: testing page
○ You may also enjoy his articles about Unit testing, Test Coverage, and
Test Driven Development
● Jenkins enables you to run large numbers of tests frequently and at appropriate
stages in the build cycle
■ Unit tests usually run every time you compile the code
■ You can define whether functional and non-regression tests run
if the unit tests fail
■ Large, broad tests can be set up to run periodically, perhaps during
non-work hours, rather than being run each time new code is committed
READ MORE ABOUT SOFTWARE TESTING
● Software testing is a vast subject with many excellent courses, books, and articles available.
Here are a few articles to get you started:
■ The stackoverflow What are unit tests, integration tests, smoke tests, and
regression tests? discussion introduces the types of testing you can do
■ Wikipedia article about Software Testing provides a comprehensive summary
and bibliography about types of testing and tools to use
■ Martin Fowler writes extensively about software development, and proper
testing figures prominently in his writing.
○ To get started, read the articles on his tagged by: testing page
○ You may also enjoy his articles about Unit testing, Test
Coverage, and Test Driven Development
TRAINING RESOURCES
● If you really want to delve into the fine points of software testing, Black Box Software
Testing (BBST) by Cem Kaner offers a series of four six-week courses about testing. Each
course contains video lectures and exams:
■ About the Black Box Software Testing Courses
■ BBST Courses Offering at Altom
CONTRIBUTE TO JENKINS
WHY CONTRIBUTE?
HOW TO START