{"id":283,"date":"2022-11-29T21:37:22","date_gmt":"2022-11-29T21:37:22","guid":{"rendered":"http:\/\/learnlearn.uk\/ibcs\/?page_id=283"},"modified":"2023-06-03T22:26:14","modified_gmt":"2023-06-03T22:26:14","slug":"testing","status":"publish","type":"page","link":"https:\/\/learnlearn.uk\/ibcs\/testing\/","title":{"rendered":"Methods of Testing"},"content":{"rendered":"<div class=\"responsive-tabs\">\n<h2 class=\"tabtitle\">Dry-Run<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Dry Run Testing<\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-medium wp-image-919\" src=\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/dry-run-300x192.png\" alt=\"\" width=\"300\" height=\"192\" \/><\/p>\n<p>This is where the programmer walks through the code, either on paper or on screen, to see if they can spot any errors. Usually this involves tracing the value of variables (either mentally or using a trace table) to see if they can find a particular bug. The process might also happen as a check before running the code, especially if the code is writing data to an external file or database.<\/p>\n<p>Dry run testing is performed throughout the software development process, as and when required, and is usually not specified within the testing plan.<\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Walkthrough<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Walkthrough Testing<\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright wp-image-918 size-medium\" src=\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/dry-run-testing-300x255.png?_t=1600738298\" alt=\"\" width=\"300\" height=\"255\" \/><\/p>\n<p>Walkthrough testing is a form of peer review in software within software engineering where the programmer guides others (e.g. managers, users, customers) through the documentation specifying the software being designed, so that any errors or improvements can be spotted and changes can be implemented.<\/p>\n<p>It is mainly done within the design phase of the software development process, before any code has been written, and usually involves any high level documentation, such as\u00a0<a href=\"http:\/\/learnlearn.uk\/alevelcs\/structure-charts\/\"> structure charts<\/a> or <a href=\"http:\/\/learnlearn.uk\/alevelcs\/state-transition-diagrams\/\">state transition diagrams<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.indiatoday.in\/technology\/news\/story\/airplane-misidentifies-female-passengers-using-title-miss-as-children-takes-off-with-heavier-load-1789476-2021-04-10\">Example of what happens when you don&#8217;t do walk through testing&#8230;<\/a><\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">WhiteBox<\/h2>\n<div class=\"tabcontent\">\n\n<h3>White Box Testing<\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-medium wp-image-920\" src=\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/white-box-286x300.png\" alt=\"\" width=\"286\" height=\"300\" \/><\/p>\n<p>White Box Testing is any software testing where the tester has access to the source code of the software under review. This type of testing is completed throughout the development process, especially the development and testing phases.<\/p>\n<p>Access to the source code allows the program to be inspected directly through the use of dry run testing and the use of trace tables.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">BlackBox<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Black Box Testing<\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-medium wp-image-921\" src=\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/black-box-300x264.png\" alt=\"\" width=\"300\" height=\"264\" \/><\/p>\n<p>This type of testing is where the person performing the test only has access the the compiled code, such as a beta version of the software, and they can only perform tests by running the code and analysing the results of the code, not the code itself. Beta testing involves black box testing.<\/p>\n<p>The user only knows the intent of the software, not the details of the implementation.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Unit<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Unit Testing<\/h3>\n<p>This is where each component of a system is tested separately. Unit testing is often automated through the use of <strong>unit test<\/strong> modules or through external software.<\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Integration<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Integration Testing<\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-medium wp-image-922\" src=\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/integration-300x200.jpg\" alt=\"\" width=\"300\" height=\"200\" \/><\/p>\n<p>Integration testing is the process of testing how software components that have been developed independently work together. This can be done by combining individual components slowly together one at a time, or through the use of <a href=\"https:\/\/www.tutorialspoint.com\/software_testing_dictionary\/big_bang_testing.htm#:~:text=Big%20Bang%20Integration%20Testing%20is,the%20interfaces%20across%20individual%20units.\">big bang testing<\/a>.<\/p>\n<p>Often when software components are developed independently by large teams the success of their interaction when part of a larger system cannot be guaranteed, especially when different practices and standards are used.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Alpha<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Alpha Testing<\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-medium wp-image-923\" src=\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/alpha-300x244.png\" alt=\"\" width=\"300\" height=\"244\" \/><\/p>\n<p>Alpha testing is a formal method of testing which is usually performed during the testing phase of the software cycle. It is a whole system test where users outside the development team (but usually inside the development organisation itself) test the system by using the software in an attempt to find bugs or issues. This form of testing can include both white box and black box.<\/p>\n<p>The advantage of using technically proficient in-house testers is that potential security issues are not revealed to external parties and the reputation of the software\/brand is not jeopardized by exposing users to potentially incomplete or buggy software.<\/p>\n<p>Another advantage of Alpha testing is that testers can use their technical knowledge to try to break the software using abnormal and boundary use cases that might not be testing during Beta testing.<\/p>\n<p>Once Alpha testing is complete the program then moves onto the Beta testing phase.<\/p>\n\n<\/div><h2 class=\"tabtitle\">Beta<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Beta Testing<\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-medium wp-image-924\" src=\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/beta-203x300.png\" alt=\"\" width=\"203\" height=\"300\" \/><\/p>\n<p>Beta testing is whole system testing that is performed after Alpha testing. It is usually performed by a wide number of users outside of the software development organisation.<\/p>\n<p>The advantages of Beta testing include:<\/p>\n<ul>\n<li>The system is used\/tested by non specialists and therefore more errors may be found.<\/li>\n<li>The system is tested on a wider range of hardware and therefore hardware related issues can be highlighted.<\/li>\n<li>The system can be analysed for load\/stress testing in a manner that is closer to real world than in Alpha testing.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Acceptance<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Acceptance Testing<\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-medium wp-image-925\" src=\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/checklist-300x295.png\" alt=\"\" width=\"300\" height=\"295\" \/><\/p>\n<p>Once a system has completed Beta testing, at the point of handover, then acceptance testing is performed. The aim is to ensure that both parties are happy that the system conforms to all the requirements listed in the specification.<\/p>\n<p>Once acceptance testing is complete handover\/cut-over can occur.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n<\/div><h2 class=\"tabtitle\">Stub<\/h2>\n<div class=\"tabcontent\">\n\n<h3>Stub Testing<\/h3>\n<p>This testing technique involves the use of empty \/ incomplete functions that return dummy values in the range of values expected from the final product.<\/p>\n<p>This allows the system to be developed in a modular manner even when certain components have yet to be implemented.<\/p>\n<p>As modules are completed the stub code is replace with working versions of the code.<\/p>\n\n<\/div><h2 class=\"tabtitle\">Resources<\/h2>\n<div class=\"tabcontent\">\n\n<p><a href=\"https:\/\/docs.google.com\/document\/d\/1sFr7eM5YHpSkHK5n8MwfpVe8Noq_zmuCYwCqmdH3JT0\/edit?usp=sharing\">Methods of Testing Crossword<\/a><\/p>\n<p><a href=\"https:\/\/docs.google.com\/presentation\/d\/1fhzSTnll5-jToPOzp-7nvA7ZHJC4cbRLz9F0srs_vss\/edit?usp=sharing\">Methods of Testing Presentation<\/a><\/p>\n<p><a href=\"https:\/\/quizizz.com\/admin\/quiz\/6080fd71c86717001d80be7c\">Testing &amp; Maintenance Quizizz<\/a><\/p>\n<p><a href=\"https:\/\/www.aicurriculum.co.uk\/courses\/1\/1\/1\/26\">AI Assisted Lesson Planning &amp; Revision Resource<\/a><\/p>\n<p>&nbsp;<\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dry Run Testing This is where the programmer walks through the code, either on paper or on screen, to see if they can spot any errors. Usually this involves tracing the value of variables (either mentally or using a trace table) to see if they can find a particular bug. The process might also happen&hellip;&nbsp;<a href=\"https:\/\/learnlearn.uk\/ibcs\/testing\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">Methods of Testing<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"on","neve_meta_content_width":100,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Methods of Testing - IB Computer Science<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/learnlearn.uk\/ibcs\/testing\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Methods of Testing - IB Computer Science\" \/>\n<meta property=\"og:description\" content=\"Dry Run Testing This is where the programmer walks through the code, either on paper or on screen, to see if they can spot any errors. Usually this involves tracing the value of variables (either mentally or using a trace table) to see if they can find a particular bug. The process might also happen&hellip;&nbsp;Read More &raquo;Methods of Testing\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learnlearn.uk\/ibcs\/testing\/\" \/>\n<meta property=\"og:site_name\" content=\"IB Computer Science\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-03T22:26:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/dry-run-300x192.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/learnlearn.uk\/ibcs\/testing\/\",\"url\":\"https:\/\/learnlearn.uk\/ibcs\/testing\/\",\"name\":\"Methods of Testing - IB Computer Science\",\"isPartOf\":{\"@id\":\"https:\/\/learnlearn.uk\/ibcs\/#website\"},\"datePublished\":\"2022-11-29T21:37:22+00:00\",\"dateModified\":\"2023-06-03T22:26:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/learnlearn.uk\/ibcs\/testing\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learnlearn.uk\/ibcs\/testing\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learnlearn.uk\/ibcs\/testing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"IB Computer Science\",\"item\":\"https:\/\/learnlearn.uk\/ibcs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Methods of Testing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/learnlearn.uk\/ibcs\/#website\",\"url\":\"https:\/\/learnlearn.uk\/ibcs\/\",\"name\":\"IB Computer Science\",\"description\":\"- learnlearn..uk\",\"publisher\":{\"@id\":\"https:\/\/learnlearn.uk\/ibcs\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/learnlearn.uk\/ibcs\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/learnlearn.uk\/ibcs\/#organization\",\"name\":\"IB Computer Science\",\"url\":\"https:\/\/learnlearn.uk\/ibcs\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/learnlearn.uk\/ibcs\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/learnlearn.uk\/ibcs\/wp-content\/uploads\/sites\/25\/2022\/09\/LearnLearnLogowhite-300x41.png\",\"contentUrl\":\"https:\/\/learnlearn.uk\/ibcs\/wp-content\/uploads\/sites\/25\/2022\/09\/LearnLearnLogowhite-300x41.png\",\"width\":300,\"height\":41,\"caption\":\"IB Computer Science\"},\"image\":{\"@id\":\"https:\/\/learnlearn.uk\/ibcs\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Methods of Testing - IB Computer Science","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/learnlearn.uk\/ibcs\/testing\/","og_locale":"en_GB","og_type":"article","og_title":"Methods of Testing - IB Computer Science","og_description":"Dry Run Testing This is where the programmer walks through the code, either on paper or on screen, to see if they can spot any errors. Usually this involves tracing the value of variables (either mentally or using a trace table) to see if they can find a particular bug. The process might also happen&hellip;&nbsp;Read More &raquo;Methods of Testing","og_url":"https:\/\/learnlearn.uk\/ibcs\/testing\/","og_site_name":"IB Computer Science","article_modified_time":"2023-06-03T22:26:14+00:00","og_image":[{"url":"https:\/\/learnlearn.uk\/alevelcs\/wp-content\/uploads\/sites\/20\/2020\/04\/dry-run-300x192.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/learnlearn.uk\/ibcs\/testing\/","url":"https:\/\/learnlearn.uk\/ibcs\/testing\/","name":"Methods of Testing - IB Computer Science","isPartOf":{"@id":"https:\/\/learnlearn.uk\/ibcs\/#website"},"datePublished":"2022-11-29T21:37:22+00:00","dateModified":"2023-06-03T22:26:14+00:00","breadcrumb":{"@id":"https:\/\/learnlearn.uk\/ibcs\/testing\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learnlearn.uk\/ibcs\/testing\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/learnlearn.uk\/ibcs\/testing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"IB Computer Science","item":"https:\/\/learnlearn.uk\/ibcs\/"},{"@type":"ListItem","position":2,"name":"Methods of Testing"}]},{"@type":"WebSite","@id":"https:\/\/learnlearn.uk\/ibcs\/#website","url":"https:\/\/learnlearn.uk\/ibcs\/","name":"IB Computer Science","description":"- learnlearn..uk","publisher":{"@id":"https:\/\/learnlearn.uk\/ibcs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/learnlearn.uk\/ibcs\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/learnlearn.uk\/ibcs\/#organization","name":"IB Computer Science","url":"https:\/\/learnlearn.uk\/ibcs\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/learnlearn.uk\/ibcs\/#\/schema\/logo\/image\/","url":"https:\/\/learnlearn.uk\/ibcs\/wp-content\/uploads\/sites\/25\/2022\/09\/LearnLearnLogowhite-300x41.png","contentUrl":"https:\/\/learnlearn.uk\/ibcs\/wp-content\/uploads\/sites\/25\/2022\/09\/LearnLearnLogowhite-300x41.png","width":300,"height":41,"caption":"IB Computer Science"},"image":{"@id":"https:\/\/learnlearn.uk\/ibcs\/#\/schema\/logo\/image\/"}}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"learnlearnadmin","author_link":"https:\/\/learnlearn.uk\/ibcs\/author\/learnlearnadmin\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Dry Run Testing This is where the programmer walks through the code, either on paper or on screen, to see if they can spot any errors. Usually this involves tracing the value of variables (either mentally or using a trace table) to see if they can find a particular bug. The process might also happen&hellip;&nbsp;Read&hellip;","_links":{"self":[{"href":"https:\/\/learnlearn.uk\/ibcs\/wp-json\/wp\/v2\/pages\/283"}],"collection":[{"href":"https:\/\/learnlearn.uk\/ibcs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/learnlearn.uk\/ibcs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/learnlearn.uk\/ibcs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/learnlearn.uk\/ibcs\/wp-json\/wp\/v2\/comments?post=283"}],"version-history":[{"count":5,"href":"https:\/\/learnlearn.uk\/ibcs\/wp-json\/wp\/v2\/pages\/283\/revisions"}],"predecessor-version":[{"id":660,"href":"https:\/\/learnlearn.uk\/ibcs\/wp-json\/wp\/v2\/pages\/283\/revisions\/660"}],"wp:attachment":[{"href":"https:\/\/learnlearn.uk\/ibcs\/wp-json\/wp\/v2\/media?parent=283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}