{"id":38646,"date":"2016-11-23T22:57:33","date_gmt":"2016-11-24T04:57:33","guid":{"rendered":"http:\/\/nichoblogs.wordpress.com\/?p=342"},"modified":"2016-11-23T22:57:33","modified_gmt":"2016-11-24T04:57:33","slug":"time-to-quality-test","status":"publish","type":"post","link":"https:\/\/kenscourses.com\/tc1019fall2016\/syndicated\/time-to-quality-test\/","title":{"rendered":"Time To Quality Test"},"content":{"rendered":"<h3><em>Humans are not perfect<\/em><\/h3>\n<p>Humans are not perfect, and since we are the ones doing the programming, a lot of times programs have what\u00b4s known as bugs, or errors(Fun Fact: they are called bugs because way back in times of the ENIAC, what caused problems were literal bugs who crawled to the machine).<\/p>\n<p>Sometimes bugs can be as disastrous as cracking your program the second you run it and ruin everything you\u00b4ve worked so hard for!!! and other times they\u00b4re not as bad, but either way the best thing to do is spray Raid over them and kill them(please don\u00b4t spread Raid ver your computer, that thing is really toxic).<\/p>\n<p><img src=\"https:\/\/c1.staticflickr.com\/1\/113\/282707058_02305d3cce_z.jpg?zz=1\" alt=\"Resultado de imagen para software bugs\" \/><\/p>\n<p>Software testing is just what it sounds like, to run your own program and see how it works, so you can correct any mistakes you may have made. This is usually made in order to debug your program, or to give it maintenance(which a lot of times \u00b4maintenance\u00b4 means a new bug was discovered). While it may seem easy, it often gives not-experienced programmers(like me) a really really hard time.<\/p>\n<p><img src=\"https:\/\/i0.wp.com\/i.imgur.com\/r1YL0R5.jpg\" \/><\/p>\n<p>This is a huge topic and has a lot of coverage in it, so we\u00b4ll start from the beginning.<\/p>\n<h3><em>Why do we do it?<\/em><\/h3>\n<p>Well, first of all, a crash in your program carries a risk of damaging your hardware. Also the people funding or contracting you don\u00b4t want to pay for later debugging, because that is quite expensive. A study from the NIST in 2002 found that this is the cost of debugging at later phases of the development.<\/p>\n<table class=\"wikitable\">\n<tbody>\n<tr>\n<th colspan=\"2\" rowspan=\"2\">Cost to fix a defect<\/th>\n<th colspan=\"5\">Time detected<\/th>\n<\/tr>\n<tr>\n<th>Requirements<\/th>\n<th>Architecture<\/th>\n<th>Construction<\/th>\n<th>System test<\/th>\n<th>Post-release<\/th>\n<\/tr>\n<tr>\n<th rowspan=\"3\">Time introduced<\/th>\n<th>Requirements<\/th>\n<td>1\u00d7<\/td>\n<td>3\u00d7<\/td>\n<td>5\u201310\u00d7<\/td>\n<td>10\u00d7<\/td>\n<td>10\u2013100\u00d7<\/td>\n<\/tr>\n<tr>\n<th>Architecture<\/th>\n<td>\u2013<\/td>\n<td>1\u00d7<\/td>\n<td>10\u00d7<\/td>\n<td>15\u00d7<\/td>\n<td>25\u2013100\u00d7<\/td>\n<\/tr>\n<tr>\n<th>Construction<\/th>\n<td>\u2013<\/td>\n<td>\u2013<\/td>\n<td>1\u00d7<\/td>\n<td>10\u00d7<\/td>\n<td>10\u201325\u00d7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h6>Table taken from NIST Study, 2002<\/h6>\n<p>As <div class=\"post-limited-image\"><img alt=\"\" border=\"0\" src=\"http:\/\/feeds.wordpress.com\/1.0\/comments\/nichoblogs.wordpress.com\/342\/\" \/><\/div>\n<div class=\"post-limited-image\"><img alt=\"\" border=\"0\" src=\"https:\/\/pixel.wp.com\/b.gif?host=nichoblogs.wordpress.com&#038;blog=120296750&%23038;post=342&%23038;subd=nichoblogs&%23038;ref=&%23038;feed=1\" width=\"1\" height=\"1\" \/><\/div><!--more--> can see, if they skip just one phase at debugging, it could end up costing 3 or even 10 times more than it would had you noticed them in their respective phase, of course this takes a lot of experience, which is also why it is one of the hardest parts of software development. Also, from a consumer standpoint a lot of times you want to pay for something of good quality, so if a program is not correctly debugged, it may end up decreasing sales.<\/p>\n<h3><em>All right, I get it&#8230;how do I stop it?<\/em><\/h3>\n<p>There are a number of different ways you can test it.<\/p>\n<ul>\n<li>Static and dynamic testing<\/li>\n<li>Visual testing<\/li>\n<li>integrated testing<\/li>\n<\/ul>\n<p>But the one that is most common of them all is the box testing.<\/p>\n<h3><em>Box testing<\/em><\/h3>\n<p>The box testing is a combination of two methods called the white and black box testing<\/p>\n<ul>\n<li><span style=\"color:#ff0000;\"><strong>White box testing:\u00a0<\/strong><span style=\"color:#000000;\">Is the testing you do to all your internal gears and workings, it is a test that can be performed at any level or phase because since the program doesn\u00b4t change, just gets added. A white box test can usually work, but it is recommended to do it at a unit level(go as deep as you can) some of the techniques include:<\/span><\/span>\n<ul>\n<li><span style=\"color:#000000;\"><a class=\"mw-redirect\" style=\"color:#000000;text-decoration:underline;\" title=\"Api testing\" href=\"https:\/\/en.wikipedia.org\/wiki\/Api_testing\">API testing<\/a>\u00a0: testing of the application using public and private <a class=\"mw-redirect\" style=\"color:#000000;text-decoration:underline;\" title=\"Application programming interfaces\" href=\"https:\/\/en.wikipedia.org\/wiki\/Application_programming_interfaces\">APIs<\/a> (application programming interfaces)<\/span><\/li>\n<li><span style=\"color:#000000;\"><a style=\"color:#000000;text-decoration:underline;\" title=\"Code coverage\" href=\"https:\/\/en.wikipedia.org\/wiki\/Code_coverage\">Code coverage<\/a>\u00a0: creating tests to satisfy some criteria of code coverage ( tests to cover all the possible oprtions)<\/span><\/li>\n<li><span style=\"color:#000000;\"><a style=\"color:#000000;text-decoration:underline;\" title=\"Fault injection\" href=\"https:\/\/en.wikipedia.org\/wiki\/Fault_injection\">Fault injection<\/a> methods : intentionally introducing faults to measure the efficacy of testing strategies<\/span><\/li>\n<li><span style=\"color:#000000;\"><a style=\"color:#000000;text-decoration:underline;\" title=\"Mutation testing\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mutation_testing\">Mutation testing<\/a> methods: modifying the program just slightly.<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color:#ff0000;\"><strong>Black Box Testing:\u00a0<\/strong><span style=\"color:#000000;\">This tests is done on the funcionality level alone, it\u00b4s the equivalent of dummy testing in other areas. It is supposed to be done simulating you have no knowledge of the inner workings of a software. This is the kind of testing they do when inviting outsiders as beta-testers.<\/span><\/span><\/li>\n<\/ul>\n<p>Software testing can be a really important step depending on the objective of your software, but it\u00b4s still a very important test to be performed. Software doesn\u00b4t yet have a set of rules like other areas do(Quality examinations) but this one\u00b4s hoping they don\u00b4t delay much.<\/p>\n<h6>All images used in this post were taken from\u00a0http:\/\/imgur.com\/r1YL0R5<\/h6>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p><br \/>  <a rel=\"nofollow\" href=\"http:\/\/feeds.wordpress.com\/1.0\/gocomments\/nichoblogs.wordpress.com\/342\/\"><img alt=\"\" border=\"0\" src=\"http:\/\/feeds.wordpress.com\/1.0\/comments\/nichoblogs.wordpress.com\/342\/\" \/><\/a> <img alt=\"\" border=\"0\" src=\"https:\/\/pixel.wp.com\/b.gif?host=nichoblogs.wordpress.com&#038;blog=120296750&%23038;post=342&%23038;subd=nichoblogs&%23038;ref=&%23038;feed=1\" width=\"1\" height=\"1\" \/>","protected":false},"excerpt":{"rendered":"<p>Humans are not perfect Humans are not perfect, and since we are the ones doing the programming, a lot of times programs have what\u00b4s known as bugs, or errors(Fun Fact: they are called bugs because way back in times of the ENIAC, what caused problems were literal bugs who crawled to the machine). Sometimes bugs &hellip; <a href=\"https:\/\/kenscourses.com\/tc1019fall2016\/syndicated\/time-to-quality-test\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Time To Quality Test<\/span><\/a><\/p>\n","protected":false},"author":39,"featured_media":38647,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,4],"tags":[426,51,44,25],"class_list":["post-38646","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blogs","category-syndicated","tag-themoreyouknow","tag-craft","tag-sin-categoria","tag-tc1019"],"_links":{"self":[{"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/posts\/38646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/users\/39"}],"replies":[{"embeddable":true,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/comments?post=38646"}],"version-history":[{"count":1,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/posts\/38646\/revisions"}],"predecessor-version":[{"id":38648,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/posts\/38646\/revisions\/38648"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/media\/38647"}],"wp:attachment":[{"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/media?parent=38646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/categories?post=38646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/tags?post=38646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}