16
UNIT TESTING DAVID TZEMACH WWW.DTVISIONTECH.COM FEB 21 2016

The basics of UNIT testing

Embed Size (px)

Citation preview

UNIT TESTINGDAVID TZEMACH

WWW.DTVISIONTECH.COMFEB 21 2016

OVERVIEW• THE MAIN TARGET OF UNIT TESTING IS TO RUN LOGICAL TESTS ON THE SMALLEST PIECE OF CODE (A SINGLE FUNCTION AT A TIME).• UNIT TESTS WILL INCREASE THE QUALITY OF THE

CODE AND REDUCE THE NUMBER OF BUGS ON ADVANCE TESTING PHASES. • PERFORMED BY THE DEVELOPMENT TEAM (NOT PART

OF THE QA EFFORT).

THE BENEFITS OF UNIT TESTING

THE FIRST TESTING LAYERUNIT TESTS ARE THE FIRST LAYER OF TESTS, WHEN EXECUTED WELL, WE WILL REDUCE THE % TO FIND BUGS ON ADVANCED PHASES OF THE DEVELOPMENT.

INCREASE THE CODE DOCUMENTATION UNIT TESTS WILL INCREASE THE CODE DOCUMENTATION OF AN APPLICATION. WHICH WILL HELP OTHER DEVELOPERS TO ACCESS AND LEARN HOW THE FUNCTION WORKS.

INSTANT FEEDBACKAS A DEVELOPER, YOU HAVE THE POWER TO MODIFY THE CODE AND GET AN INSTANT APPROVAL REGARDING THE CHANGE, THIS IS A GREAT POWER THAT WILL INCREASE THE EFFECTIVENESS OF THE DEVELOPMENT PROCESS.

UNIT TESTS WILL HELP TO REDUCE THE RISKUNIT TESTS THAT RUN ALL THE TIME WILL HELP TO FIND A NEW CODE THAT ACCIDENTALLY ENTERED FROM UNEXPECTED RESOURCES (OTHER TEAMS, DEVELOPERS FROM THE SAME TEAM ETC.)

UNIT TESTS ARE AUTOMATED TESTS! IT’S SIMPLE, UNIT TESTS ARE AUTOMATED TESTS THAT CAN RUN WITHOUT ANY LIMITATION FROM THE POINT THAT THE DEVELOPER AS FINISHED TO WRITE THEM.

HELP TO INCREASE THE CONFIDENCE IN CODEEXECUTING UNIT TESTS IS GREAT TOOL FOR DEVELOPERS TO GAIN CONFIDENCE IN THEIR CODE (ANY CODE CHANGES WILL BE VALIDATED STARTING FROM THE POINT THAT THE TEST IS CREATED).

THE LIMITATIONS OF UNIT TESTS

SINGLE TESTING LAYER UNIT TESTS ARE RELEVANT WHEN YOU NEED TO TEST A STANDALONE FUNCTION, YOU CANNOT RUN THESE TESTS TO VALIDATE A MORE ADVANCED TESTING LAYER (END TO END, INTEGRATIONS ETC.).

FUNCTIONAL VS. NUN-FUNCTIONALUNIT TESTS ARE NOT RELEVANT TO THE NUN-FUNCTIONAL SIDE OF TESTING AND THEREFORE YOU CANNOT VALIDATE TESTING TYPES THAT ARE RELATED TO THIS CATEGORY (USABILITY, GUI ETC.)

RELEVANT TO DEVELOPMENT ONLY UNIT TESTS ARE NOT RELEVANT TO QA, THE PERSONS WHICH WRITE AND EXECUTE THEM ARE THE DEVELOPERS ONLY, AND THEREFORE THE QA TEAM CANNOT BASE THEIR TESTS ON THIS COVERAGE.

MAINTENANCEWORKING ON METHODS THAT FREQUENTLY CHANGED (LIKE COMPLEX ALGORITHMS) WILL INCREASE THE MAINTENANCE EFFORT AND THE INVESTMENT OF THE DEVELOPMENT TEAM.

TIMELINESEVERY CODE MAY HOLD THOUSANDS OF METHODS WITH DIFFERENT COMPLEXITY, THE TIME FACTOR BECOMES HIGHER WHEN YOU NEED TO DESIGN TEST SCENARIOS FOR ALL OF THOSE METHODS.

FOR ADDITIONAL KB’S PLEASE VISIT MY BLOG

WWW.DTVISIONTECH.COM