Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software testing (1dev : 2.5-6) Not correct system: math/logic proof, right take: I find no error so far at my best. Incomplete induction. Debugging: part.

Similar presentations


Presentation on theme: "Software testing (1dev : 2.5-6) Not correct system: math/logic proof, right take: I find no error so far at my best. Incomplete induction. Debugging: part."— Presentation transcript:

1 Software testing (1dev : 2.5-6) Not correct system: math/logic proof, right take: I find no error so far at my best. Incomplete induction. Debugging: part of coding phase, by self vs testing: conform to spec Verification=testing: conform to the spec; Validation: verification + better general quality: understandable: peer programmer, user-friendly, Static: reading doc: spec/design/code and dynamic testing: run statistical: collect stats defect: non-conforming spec stat: guiding double blind testing Component testing, integration: interface modules user test Thread testing: typical scenario follow thru it Alpha version: internal testing version, beta version: init: alpha dynamic: free send feedback, pay experts, delivered version 1.0 Minor change 1.01, 2.7.6, ipython 1.0

2 Unit/module/sub-system/ acceptance: delivered version (after beta), machine learning: learn new cases/knowledge Adaptive: >90% Top-down: test root first, go down vs bottom-up: test root last; OO combination of TD and BU stubs, drivers, which is better? And why? Philosophy of testing Black box testing: partitioning cases: cannot see, input --- output according to spec White-box glass –box or structural testing: exhaustive traversal all possible branch Interface testing: integrate system, End result: delivered system (not final)

3 Evolution & maintenance Maintenance: change after delivery corrective: fix error; required adaptive: to new envir; optional perfective: new req; more optional/volunteer new Process: user complaints. Pool whinings; change req/spec, assessment, new iteration of dev-new life cycle System documentation: spec+plan+design+src code + testing cases report (bugs, fix) Evolution dynamics: continuous change, consider I—O by spec increasing complexity; Reduce Maintenance cost: spec, coupling loose, good documentation

4 Factors: module rel; PL: understandability, shorter (kolmogorov complexity); prog. Style; Software re-engineering: legacy system: in old PL(C++, java), old DS, alg.; which is easier? Re-eng or soft. Engr? COBOL/ algol, by python; from scratch using python. Mutual misundertanding: gone almost, free consultant, reliable; Cobol to C Source code translation: matlab to c++; Data re-engr: re-organize data structure; Software Reverse engineering: spy(mit/ind) military AI; obtain design and spec from object code. 2002, human face BMW/Benz?: new feature, Bens/BMW timeit: time performance from python to matlab >95%, shoulder human eys, human nose


Download ppt "Software testing (1dev : 2.5-6) Not correct system: math/logic proof, right take: I find no error so far at my best. Incomplete induction. Debugging: part."

Similar presentations


Ads by Google