{"id":11416,"date":"2008-11-03T15:37:44","date_gmt":"2008-11-03T12:37:44","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=11416"},"modified":"2008-11-03T15:37:44","modified_gmt":"2008-11-03T12:37:44","slug":"on-software-testing","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2008\/11\/03\/on-software-testing\/","title":{"rendered":"On software testing"},"content":{"rendered":"<!-- google_ad_section_start -->\n<blockquote><p>The software is checked very carefully in a bottom-up fashion. First, each new line of code is checked, then sections of code or modules with special functions are verified. The scope is increased step by step until the new changes are incorporated into a complete system and checked. This complete output is considered the final product, newly released. But completely independently there is an independent verification group, that takes an adversary attitude to the software development group, and tests and verifies the software as if it were a customer of the delivered product. There is additional verification in using the new programs in simulators, etc. A discovery of an error during verification testing is considered very serious, and its origin studied very carefully to avoid such mistakes in the future. Such unexpected errors have been found only about six times in all the programming and program changing (for new or altered payloads) that has been done. The principle that is followed is that all the verification is not an aspect of program safety, it is merely a test of that safety, in a non-catastrophic verification. Flight safety is to be judged solely on how well the programs do in the verification tests. A failure here generates considerable concern.<\/p><\/blockquote>\n<p>The above was written by R. P. Feynman, in <a href=\"http:\/\/www.ralentz.com\/old\/space\/feynman-report.html\">Feynman&#8217;s Appendix to the Rogers Commission Report on the Space Shuttle Challenger Accident<\/a>, 1986.  More than 20 years ago. Much recommended reading.<\/p>\n<p>Found via <a href=\"http:\/\/duartes.org\/gustavo\/blog\/post\/Richard-Feynman-Challenger-Disaster-Software-Engineering\">Richard Feynman, the Challenger Disaster, and Software Engineering<\/a>.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>The software is checked very carefully in a bottom-up fashion. First, each new line of code is checked, then sections of code or modules with special functions are verified. The scope is increased step by step until the new changes are incorporated into a complete system and checked. This complete output is considered the final &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2008\/11\/03\/on-software-testing\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">On software testing<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62],"tags":[286,39,53,1108],"keyring_services":[],"class_list":["post-11416","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","tag-history","tag-software","tag-space","tag-testing"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":18349,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/06\/11\/water-testing-is-not-a-term-for-software-testing\/","url_meta":{"origin":11416,"position":0},"title":"Water testing is not a term (for software testing)","author":"Leonid Mamchenkov","date":"June 11, 2013","format":false,"excerpt":"I've been hearing the term \"water testing\" for one of the work projects that I am involved in. \u00a0The term is used to describe the stage of the project when it's available on the production servers with live data, but open only to a subset of the users. \u00a0After searching\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29302,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/01\/25\/our-software-dependency-problem\/","url_meta":{"origin":11416,"position":1},"title":"Our Software Dependency Problem","author":"Leonid Mamchenkov","date":"January 25, 2019","format":false,"excerpt":"\"Our Software Dependency Problem\" is a great article going in-depth into the subject of the dependency management during software engineering. Dependency managers have scaled this open-source code reuse model down: now, developers can share code at the granularity of individual functions of tens of lines. This is a major technical\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18905,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/12\/03\/optimizely-ab-testing-software-made-easy\/","url_meta":{"origin":11416,"position":2},"title":"Optimizely &#8211; A\/B testing software made easy","author":"Leonid Mamchenkov","date":"December 3, 2013","format":"link","excerpt":"Optimizely - A\/B testing software made easy Interestingly, CEO's direct phone number is one of the options on the pricing page.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27331,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/","url_meta":{"origin":11416,"position":3},"title":"Software Engineering at Google","author":"Leonid Mamchenkov","date":"February 11, 2017","format":false,"excerpt":"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document\u00a0entitled \"Software Engineering at Google\", where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7560,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/06\/09\/p800-updates\/","url_meta":{"origin":11416,"position":4},"title":"P800 updates","author":"Leonid Mamchenkov","date":"June 9, 2004","format":false,"excerpt":"It has been a long time since I checked the SonyEricsson P800 scene. Meanwhile there were plenty software updates and a lot more media content published. I've spent a good deal of today downloading all sorts of sounds and pictures, testing new software products and updating the old ones. Out\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28292,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/12\/23\/the-strange-art-of-writing-release-notes\/","url_meta":{"origin":11416,"position":5},"title":"The Strange Art of Writing Release Notes","author":"Leonid Mamchenkov","date":"December 23, 2017","format":false,"excerpt":"Software development is never just about writing code.\u00a0 Programming is only a small part of the software development work.\u00a0 The rest touches and intervenes with a whole lot of other areas - documentation, support, testing, marketing, and so on and so forth.\u00a0 Recently, Slashdot ran this story on the art\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/12\/release-notes-500x375.jpeg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/11416","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=11416"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/11416\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=11416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=11416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=11416"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=11416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}