Test Driven Development in Python                         Anoop Thomas Mathew                  Agiliq Info Solutions Pvt. ...
Overview●   About TDD●   TDD and Python●   unittests●   Developing with Tests●   Concluding Remarks●   Open Discussion
“ Walking on water and developing software  from a specification are easy if both are  frozen. ” - Edward V Berard
About Test Driven Development           (TDD)●   Write tests for the use case●   Run it (make sure it fails and fails     ...
Advantages of TDD●   application is determined by using it●   written minimal amount of application code       –   total a...
Unittestimport unittestclass MyTest(unittest.TestCase):    def testMethod(self):        self.assertEqual(1 + 2, 3, "1 + 2 ...
import unittestfrom demo import Greater                              The Testclass DemoTest(unittest.TestCase):    def tes...
class Greater(object):                                           The Program    def greater(self, val1, val2):        if t...
Test Again1. Add new test for features/bugs2. Resolve the issue, make the test succeed.3. Iterate from Step 1
Beware!!!Murphy is everywhere.
Lets Discuss
Upcoming SlideShare
Loading in...5
×

Test Driven Development in Python

1,395

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,395
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Test Driven Development in Python

  1. 1. Test Driven Development in Python Anoop Thomas Mathew Agiliq Info Solutions Pvt. Ltd.
  2. 2. Overview● About TDD● TDD and Python● unittests● Developing with Tests● Concluding Remarks● Open Discussion
  3. 3. “ Walking on water and developing software from a specification are easy if both are frozen. ” - Edward V Berard
  4. 4. About Test Driven Development (TDD)● Write tests for the use case● Run it (make sure it fails and fails miserably)● Write code and implement the required functionality with relevant level of detail● Run the test● Write test for addition features● Run all test● Watch it succeed. Have a cup of coffee !
  5. 5. Advantages of TDD● application is determined by using it● written minimal amount of application code – total application + tests is probably more – objects: simpler, stand-alone, minimal dependencies● tends to result in extensible architectures● instant feedback
  6. 6. Unittestimport unittestclass MyTest(unittest.TestCase): def testMethod(self): self.assertEqual(1 + 2, 3, "1 + 2 !=3")if __name__ == __main__: unittest.main()
  7. 7. import unittestfrom demo import Greater The Testclass DemoTest(unittest.TestCase): def test_number(self): comparator = Greater() result = comparator.greater(10,5) self.assertTrue(result) def test_char(self): comparator = Greater() result = comparator.greater(abcxyz, AB) self.assertTrue(result) def test_char_equal(self): comparator = Greater() result = comparator.greater(4, 3) self.assertTrue(result)if __name__ == __main__: unittest.main()
  8. 8. class Greater(object): The Program def greater(self, val1, val2): if type(val1) ==str or type(val2) == str: val1 = str(val1) val2 = str(val2) sum1 = sum([ord(i) for i in val1]) sum2 = sum([ord(i) for i in val2]) if sum1 > sum2: return True else: return False if val1>val2: return True else: return False
  9. 9. Test Again1. Add new test for features/bugs2. Resolve the issue, make the test succeed.3. Iterate from Step 1
  10. 10. Beware!!!Murphy is everywhere.
  11. 11. Lets Discuss
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×