1 / 4

Software testing (1dev : 2.5-6)

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;

lida
Télécharger la présentation

Software testing (1dev : 2.5-6)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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: google vs bing, modern science New medicine: doctor, patient: med, suger • 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 (intelligent: evolve, learn from new data) • Adaptive: random forest, svm, NN, LR, LgR…. • 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(cobol, algol), 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

More Related