This chapter presents the following content: Testing and formal methods, formal testing, development process, specification based functional testing with formal methods, approaches to formal testing instantiations of formal framework, formal methods in block handler. | Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods Model Based Testing Property Checking for Real Testing IUT specification property IUT correct . specification tester pass fail test cases scenarios Formal methods: proving properties research sound theories “clean” Testing : trial & error practice heuristics “dirty hands” Testing & Formal Methods A Perfect Couple ? “Testing is not necessary after formal verification” “Testing can only detect the presence of errors, not their absence” “Formal methods are toys for boys” “Formal methods are only for toy problems" Formal Testing Why testing with a formal specification: improves the testing process precise and unambiguous basis for testing allows automatic generation of tests Why no formal verification (theorem proving, model checking, ) : code/structure of system not accessible (black-box) system too complex verification only on model of implementation prove evidence to customer/user no formalization possible Development Process informal requirements specification realization design code formalizable Goal: Testing functional behaviour of black-box implementation with respect to specification in formal language based on formal definition of conformance Specification Based Functional Testing with Formal Methods implementation under test formal testing Model assumed to be correct specification s test execution pass / fail Formal Testing test generation test suite TS specification S implementation i correctness criterion implementation relation Formal Testing : Conformance s SPECS Specification IUT Implementation under Test IUT is concrete, physical object Model the physical world But IUT is black box ! ? Assume that model iIUT exists specification S implementation IUT correctness criterion IUT correct wrt s Approaches to Formal Testing Instantiations of Formal Framework Programs as functions . | Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods Model Based Testing Property Checking for Real Testing IUT specification property IUT correct . specification tester pass fail test cases scenarios Formal methods: proving properties research sound theories “clean” Testing : trial & error practice heuristics “dirty hands” Testing & Formal Methods A Perfect Couple ? “Testing is not necessary after formal verification” “Testing can only detect the presence of errors, not their absence” “Formal methods are toys for boys” “Formal methods are only for toy problems" Formal Testing Why testing with a formal specification: improves the testing process precise and unambiguous basis for testing allows automatic generation of tests Why no formal verification (theorem proving, model checking, ) : code/structure of system not accessible (black-box) system too complex verification only on model of .