TESTING IN PYTHON ENVIRONMENT By Mr Siva STARTER

TESTING IN PYTHON ENVIRONMENT By Mr. Siva

STARTER • In Pairs, Choose the starter activity sheet and spot the errors in code. • Year 9 and 10 -- > White Card ( Green and Orange activity) • Year 11 -- > Yellow Card (Orange and Red Activity) • Make sure to justify the reason for the available error in a sentence. ( Literacy- Spelling and vocabulary will be checked) Extension : Correct the errors.

Lesson Objectives • To know: The importance of test driven development in python environment. • To create: A test case using unittest module • To know: Different types of python testing methods KEYWORDS : Source code, Test case, Unit testing, Methods, Objects , Test file

Success Criteria • To know the importance of test driven development • To know the different methods of testing in python environment. • Executing a test file to a python code. KEYWORDS : Source code, Test case, Unit testing, Methods, Objects , Test file

What is meant by testing ? Why do we need it ? "Testing", in general programming terms, is the practice of writing code (separate from your actual application code) that invokes the code it tests to help determine if there any errors. • Testing makes sure your code works properly under a given set of conditions • Testing allows one to ensure that changes to the code did not break existing functionality • Testing forces one to think about the code under unusual conditions, possibly revealing logical errors • Good testing requires modular, decoupled code, which is a hallmark of good system design KEYWORDS : Source code, Test case, Unit testing, Methods, Objects , Test file

Testing Methods • The Basics • Unittest • Doctest • Tools • • • py. test Nose tox Unittest 2 mock Default test module in the Python standard library useful as an expressive documentation of the main use cases of a module and its components. Fully-featured and extensible test tool Automatic test discovery to save you the hassle of manually creating test suites Tool for automating test environment management Improved API and better assertions library for testing in Python KEYWORDS : Source code, Test case, Unit test, Doctest, Methods, Objects , Test file

Example – Factorial Program 1. import sys 2. 3. 4. 5. def fact(n): if n == 0: return 1 return n * fact(n -1) 6. def main(n): 7. res = fact(n) 8. print(res) KEYWORDS : Source code, Test case, Unit test, Doctest, Methods, Objects , Test file

Test Program for Factorial 1. import unittest 2. from factorial import fact 3. 4. 5. 6. 7. 8. class Test. Factorial(unittest. Test. Case): def test_fact(self): res = fact(5) self. assert. Equal(res, 120) if __name__ == '__main__': unittest. main() KEYWORDS : Source code, Test case, Unit test, Doctest, Methods, Objects , Test file

Dry Run Testing • A dry run is the process of a programmer manually working through their code to trace the value of variables.


Different Assert Statement KEYWORDS : Source code, Test case, Unit test, Doctest, Methods, Objects , Test file

PLENARY LINK : b. socrative. com/login/student Room Name : DCBA KEYWORDS : Source code, Test case, Unit test, Doctest, Methods, Objects , Test file

Teachers Question What is meant by Unit testing ? What is meant by Test driven Development ?

What have you learnt today? A question about today’s lesson you would like answered Or an aim for next lesson Two things I knew already Three new things I have learnt

HAPPY CODING !!!

GREEN CARD 1. if spam == 42 print('Hello!') 2. if spam = 42: print('Hello!') 3. print('Hello!') print('Howdy!') 4. if spam == 42: print('Hello!') 5. spam = 'I have a pet cat. ' spam[13] = 'r' print(spam)

GREEN CARD 1. if spam == 42 print('Hello!') 2. if spam = 42: print('Hello!') 3. print('Hello!') print('Howdy!') 4. if spam == 42: print('Hello!') 5. spam = 'I have a pet cat. ' spam[13] = 'r' print(spam)

GREEN CARD 1. if spam == 42 print('Hello!') 2. if spam = 42: print('Hello!') 3. print('Hello!') print('Howdy!') 4. if spam == 42: print('Hello!') 5. spam = 'I have a pet cat. ' spam[13] = 'r' print(spam)

GREEN CARD 1. if spam == 42 print('Hello!') 2. if spam = 42: print('Hello!') 3. print('Hello!') print('Howdy!') 4. if spam == 42: print('Hello!') 5. spam = 'I have a pet cat. ' spam[13] = 'r' print(spam)

GREEN CARD 1. if spam == 42 print('Hello!') 2. if spam = 42: print('Hello!') 3. print('Hello!') print('Howdy!') 4. if spam == 42: print('Hello!') 5. spam = 'I have a pet cat. ' spam[13] = 'r' print(spam)

GREEN CARD 1. if spam == 42 print('Hello!') 2. if spam = 42: print('Hello!') 3. print('Hello!') print('Howdy!') 4. if spam == 42: print('Hello!') 5. spam = 'I have a pet cat. ' spam[13] = 'r' print(spam)

ORANGE CARD 1. num. Eggs = 12 print('I have ' + num. Eggs + ' eggs. ') 4. spam = 'THIS IS IN LOWERCASE. ' spam = spam. lowerr() 2. my. Name = 'Al' 5. spam = ['cat', 'dog', 'mouse'] print('My name is ' + my. Name print(spam[6]) +. How are you? ') 3. spam = Round(4. 2)

ORANGE CARD 1. num. Eggs = 12 print('I have ' + num. Eggs + ' eggs. ') 4. spam = 'THIS IS IN LOWERCASE. ' spam = spam. lowerr() 2. my. Name = 'Al' 5. spam = ['cat', 'dog', 'mouse'] print('My name is ' + my. Name print(spam[6]) +. How are you? ') 3. spam = Round(4. 2)

ORANGE CARD 1. num. Eggs = 12 print('I have ' + num. Eggs + ' eggs. ') 4. spam = 'THIS IS IN LOWERCASE. ' spam = spam. lowerr() 2. my. Name = 'Al' 5. spam = ['cat', 'dog', 'mouse'] print('My name is ' + my. Name print(spam[6]) +. How are you? ') 3. spam = Round(4. 2)

ORANGE CARD 1. num. Eggs = 12 print('I have ' + num. Eggs + ' eggs. ') 4. spam = 'THIS IS IN LOWERCASE. ' spam = spam. lowerr() 2. my. Name = 'Al' 5. spam = ['cat', 'dog', 'mouse'] print('My name is ' + my. Name print(spam[6]) +. How are you? ') 3. spam = Round(4. 2)

ORANGE CARD 1. num. Eggs = 12 print('I have ' + num. Eggs + ' eggs. ') 4. spam = 'THIS IS IN LOWERCASE. ' spam = spam. lowerr() 2. my. Name = 'Al' 5. spam = ['cat', 'dog', 'mouse'] print('My name is ' + my. Name print(spam[6]) +. How are you? ') 3. spam = Round(4. 2)

ORANGE CARD 1. num. Eggs = 12 print('I have ' + num. Eggs + ' eggs. ') 4. spam = 'THIS IS IN LOWERCASE. ' spam = spam. lowerr() 2. my. Name = 'Al' 5. spam = ['cat', 'dog', 'mouse'] print('My name is ' + my. Name print(spam[6]) +. How are you? ') 3. spam = Round(4. 2)

RED CARD 1. class = 'algebra' 2. spam = 0 spam += 42 eggs += 42 3. some. Var = 42 def my. Function(): print(some. Var) some. Var = 100 my. Function() 4. spam = 0 spam++ 5. class Foo(): def my. Method(): print('Hello!') a = Foo() a. my. Method()

RED CARD 1. class = 'algebra' 2. spam = 0 spam += 42 eggs += 42 3. some. Var = 42 def my. Function(): print(some. Var) some. Var = 100 my. Function() 4. spam = 0 spam++ 5. class Foo(): def my. Method(): print('Hello!') a = Foo() a. my. Method()

RED CARD 1. class = 'algebra' 2. spam = 0 spam += 42 eggs += 42 3. some. Var = 42 def my. Function(): print(some. Var) some. Var = 100 my. Function() 4. spam = 0 spam++ 5. class Foo(): def my. Method(): print('Hello!') a = Foo() a. my. Method()

RED CARD 1. class = 'algebra' 2. spam = 0 spam += 42 eggs += 42 3. some. Var = 42 def my. Function(): print(some. Var) some. Var = 100 my. Function() 4. spam = 0 spam++ 5. class Foo(): def my. Method(): print('Hello!') a = Foo() a. my. Method()

RED CARD 1. class = 'algebra' 2. spam = 0 spam += 42 eggs += 42 3. some. Var = 42 def my. Function(): print(some. Var) some. Var = 100 my. Function() 4. spam = 0 spam++ 5. class Foo(): def my. Method(): print('Hello!') a = Foo() a. my. Method()

RED CARD 1. class = 'algebra' 2. spam = 0 spam += 42 eggs += 42 3. some. Var = 42 def my. Function(): print(some. Var) some. Var = 100 my. Function() 4. spam = 0 spam++ 5. class Foo(): def my. Method(): print('Hello!') a = Foo() a. my. Method()
- Slides: 33