{"id":281,"date":"2017-11-28T10:56:05","date_gmt":"2017-11-28T10:56:05","guid":{"rendered":"http:\/\/talentedtester.com\/?p=281"},"modified":"2018-12-22T09:04:09","modified_gmt":"2018-12-22T09:04:09","slug":"what-is-software-quality","status":"publish","type":"post","link":"http:\/\/talentedtester.com\/what-is-software-quality\/","title":{"rendered":"What is Software Quality?"},"content":{"rendered":"

Do you know what software programmers dread the most? Testing. <\/span><\/p>\n

\u200b<\/span>Have you ever encountered a situation where the software you\u2019re using – regardless of whether it\u2019s on the computer, your smartphone or your tablet – didn\u2019t quite give you the result it expected? <\/span><\/p>\n

Sometimes it\u2019s plain wrong, sometimes just bizarre and sometimes just in a state where stubbornly refuses to give you a response. We\u2019d be surprised if you haven\u2019t, as almost every software ever created has had bugs, errors and defects built into it. Not on purpose, but simply because of the monumental task it is to create 100% perfect quality software. <\/span><\/p>\n

You could even go so far as to say that quality software isn\u2019t that which is without bugs and errors, it\u2019s that which has the least bugs and errors. <\/span><\/p>\n

\u200b<\/span><\/strong>Technically speaking, software quality is the degree to which a software\u2019s performance and features meets the expectations. In other words, is it doing what it\u2019s supposed to do, and does it ever act funny? <\/span><\/p>\n

In practice, it covers multiple elements, such as design and interface, reliability, reusability, consistency of output and of course, functionality. The better these qualities show themselves in the execution of the software\u2019s operations, the better the software quality. <\/span><\/p>\n

\u200b<\/span><\/strong>A software may pass off as satisfactory by providing the right results, regardless of the <\/span>testing or development model<\/span><\/a>, even if it lacks in the design and durability department. But if defects prevent correct computation, then the software is worth nothing at all. However pretty it might be, you wouldn\u2019t use a calculator that calculated 1 + 1 to be 3, would you? <\/span><\/p>\n

\u200b<\/span><\/strong>It then becomes necessary to take software through a stringent quality testing process to ensure that it\u2019s doing it\u2019s job. That\u2019s what we\u2019ll be taking you through today.<\/span><\/p>\n

 <\/span><\/strong>1.  <\/span><\/strong>When is Software said to be of Good Quality?<\/span><\/strong><\/h2>\n

\u200b<\/span><\/strong>Good software is a lot of things. What it definitely isn\u2019t is simply the correct execution of its tasks. <\/span><\/p>\n

\u200b<\/span>According to <\/span>Virginia Tech<\/span><\/a>, there are 6 qualities that are a sign of good software.<\/span><\/p>\n

\u200b<\/span>Correctness <\/span><\/h3>\n

Specific testing methods can help a developer make sure that each of the requirements are met under various circumstances of use. It has to also be capable of being easily maintained (\u201cmaintainability\u201d). What if your client requires a moderate change to the program? An amateur software developer would rewrite the whole program; a good one would have accounted for such a possibility and allowed for modular changes that enable new requirements to fit in snugly with the old program. <\/span><\/p>\n

\u200b<\/span>Reliability and Reusability<\/span><\/h3>\n

\u200b<\/span>\u201cReliability\u201d and \u201cReusability\u201d come next. No software is technically 100% reliable, but the aim for a high degree of reliability should always be present. If, under regular operating circumstances, a software fails, and fails often, it is said to be unreliable. In some cases, such as in air traffic control, a minor drop in reliability can have severe consequences. It work hand in hand with correctness and maintainability. Reusability is self-explanatory: can your software be used again, for some other purpose? Has it been designed in such a way that some of its functions may be transmitted to other programs with common requirements, thereby saving you time? <\/span><\/p>\n

Portability<\/span><\/h3>\n

\u200b<\/span>\u201cPortability\u201d is another feature that simply measures how well your software can be used on a wide variety of systems. There are a large variety of computer systems which clients often deal with and you\u2019ll want to be certain that it can run on as many of them as possible. \u201cEfficiency\u201d measures how optimized your program is, in terms of computer resource. Efficient software uses as little as possible, giving your client a better experience overall.<\/span><\/p>\n

\u200b<\/span><\/strong>2. What are the Consequences of Poor Quality Software?<\/span><\/strong><\/h2>\n

\u200b<\/span><\/strong>Believe or not, money is one of the biggest consequences of poor software. The enormous time spent in debugging poorly written code results in hundreds of billions of dollars of lost revenue, as discovered by Cambridge University.<\/span><\/p>\n

\u200b<\/span>Lost time is another result. Clients are stubborn about their requirements, and when you deliver code that is imperfect or downright wrong, they expect it to be corrected – as they should. You\u2019ll only end up wasting more time correcting something that could have been written properly the first time around.<\/span><\/p>\n

\u200b<\/span>There are far darker consequences as well, depending on the purpose of the software. Stock market crashes and airline delays have been known to have been affected by software bugs. Thousands of people can be stranded halfway across the world, many companies and vested stakeholders lose enormous sums of money because of overlooked errors in the original program. Heaven forbid there being errors in a hospital\u2019s software program. <\/span><\/p>\n

\u200b\u200b<\/u><\/span><\/strong>3. What are the Different Ways in Which Mistakes Might Arise?<\/span><\/strong><\/h2>\n

\u200b<\/span><\/strong>Broadly speaking, there are three different kinds of faults with software: errors, defects called bugs or faults and failure, according to <\/span>SoftwareTestingBooks<\/span><\/a>. The first is when the programmer makes a mistake that results in incorrect output. The second when there is some internal mismatch or conflict in a component or series of components of the software that prevents the function from being carried out. The last is when the program simply does not provide the correct result. <\/span><\/p>\n

\u200b<\/span>It is the defects that are hardest to deal with as they require a close examination of the code.<\/span><\/p>\n

\u200b<\/span><\/strong>4. How do you Ensure that your Software is of Good Quality?<\/span><\/strong><\/h2>\n

\u200b<\/span><\/strong>Test. Test. Test. <\/span><\/p>\n

\u200b<\/span>And there all kinds of tests. They can be divided into two categories, let\u2019s call them strategic and tactical. Tests that are strategic are automated, manual, exploratory tests, while the tactics used to perform the <\/span>tests are unit, integration<\/span><\/a> and functional, according to <\/span>Atlassian<\/span><\/a>.<\/span><\/p>\n

\u200b<\/span><\/strong>You can check individual components of the software with unit tests, a subsystem of the program with integration tests and the whole end-to-end process of use with functional tests. These let you narrow down the problem areas. <\/span><\/p>\n

Computers can be programmed to check the repetitive aspects of the software for correctness, while manual tests are used to check aspects of the software output that usually involve the customer experience. Exploratory testing is like field testing: you get a group of people who broadly represent your software target audience, and give them guidelines to check if it\u2019s working. Essentially, you\u2019re testing the software as if it\u2019s \u201cout there\u201d, though with some supervision, according to <\/span>Atlassian<\/span><\/a>.<\/span><\/p>\n

\u200b<\/span>Watch the open lecture on software testing by Professor James Bach (video below). It\u2019s a fantastically entertaining and informative watch that takes you through the whole of software testing.<\/span><\/p>\n

\u200b<\/span><\/strong>Software is a quite complex endeavour, though also extremely interesting. At any rate, it is vital if you want to deliver good software and develop a good reputation. You can\u2019t skimp on it!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"

Do you know what software programmers dread the most? Testing.  \u200bHave you ever encountered a situation where the software you\u2019re using – regardless of whether it\u2019s on the computer, your smartphone or your tablet – didn\u2019t quite give you the result it expected? Sometimes it\u2019s plain wrong, sometimes just bizarre and sometimes just in a […]<\/p>\n","protected":false},"author":1,"featured_media":283,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"pmpro_default_level":0,"footnotes":""},"categories":[24],"tags":[44,43],"yoast_head":"\nWhat is Software Quality? - Talented Tester<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/talentedtester.com\/what-is-software-quality\/\" class=\"yoast-seo-meta-tag\" \/>\n<meta property=\"og:locale\" content=\"en_US\" class=\"yoast-seo-meta-tag\" \/>\n<meta property=\"og:type\" content=\"article\" class=\"yoast-seo-meta-tag\" \/>\n<meta property=\"og:title\" content=\"What is Software Quality? - Talented Tester\" class=\"yoast-seo-meta-tag\" \/>\n<meta property=\"og:description\" content=\"Do you know what software programmers dread the most? Testing.  \u200bHave you ever encountered a situation where the software you\u2019re using – regardless of whether it\u2019s on the computer, your smartphone or your tablet – didn\u2019t quite give you the result it expected? Sometimes it\u2019s plain wrong, sometimes just bizarre and sometimes just in a […]\" class=\"yoast-seo-meta-tag\" \/>\n<meta property=\"og:url\" content=\"http:\/\/talentedtester.com\/what-is-software-quality\/\" class=\"yoast-seo-meta-tag\" \/>\n<meta property=\"og:site_name\" content=\"Talented Tester\" class=\"yoast-seo-meta-tag\" \/>\n<meta property=\"article:published_time\" content=\"2017-11-28T10:56:05+00:00\" class=\"yoast-seo-meta-tag\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-22T09:04:09+00:00\" class=\"yoast-seo-meta-tag\" \/>\n<meta property=\"og:image\" content=\"http:\/\/talentedtester.com\/wp-content\/uploads\/2017\/11\/What-is-Software-Quality-jigsaw-taltented-tester-51579841_s.jpg\" class=\"yoast-seo-meta-tag\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" class=\"yoast-seo-meta-tag\" \/>\n\t<meta property=\"og:image:height\" content=\"270\" class=\"yoast-seo-meta-tag\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" class=\"yoast-seo-meta-tag\" \/>\n<meta name=\"author\" content=\"Talented Tester Support\" class=\"yoast-seo-meta-tag\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" class=\"yoast-seo-meta-tag\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" class=\"yoast-seo-meta-tag\" \/>\n\t<meta name=\"twitter:data1\" content=\"Talented Tester Support\" class=\"yoast-seo-meta-tag\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" class=\"yoast-seo-meta-tag\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" class=\"yoast-seo-meta-tag\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/talentedtester.com\/what-is-software-quality\/\",\"url\":\"http:\/\/talentedtester.com\/what-is-software-quality\/\",\"name\":\"What is Software Quality? - Talented Tester\",\"isPartOf\":{\"@id\":\"http:\/\/talentedtester.com\/#website\"},\"datePublished\":\"2017-11-28T10:56:05+00:00\",\"dateModified\":\"2018-12-22T09:04:09+00:00\",\"author\":{\"@id\":\"http:\/\/talentedtester.com\/#\/schema\/person\/f2587bb99b34702fdc503f068c0726fe\"},\"breadcrumb\":{\"@id\":\"http:\/\/talentedtester.com\/what-is-software-quality\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/talentedtester.com\/what-is-software-quality\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/talentedtester.com\/what-is-software-quality\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/talentedtester.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is Software Quality?\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/talentedtester.com\/#website\",\"url\":\"http:\/\/talentedtester.com\/\",\"name\":\"Talented Tester\",\"description\":\"The No1 Resource for Software Testers\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/talentedtester.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/talentedtester.com\/#\/schema\/person\/f2587bb99b34702fdc503f068c0726fe\",\"name\":\"Talented Tester Support\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/talentedtester.com\/#\/schema\/person\/image\/\",\"url\":\"\/\/www.gravatar.com\/avatar\/b51481991756e76264b3ffa054e3f215?s=96&r=g&d=mm\",\"contentUrl\":\"\/\/www.gravatar.com\/avatar\/b51481991756e76264b3ffa054e3f215?s=96&r=g&d=mm\",\"caption\":\"Talented Tester Support\"},\"url\":\"http:\/\/talentedtester.com\/author\/talented\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What is Software Quality? - Talented Tester","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":"http:\/\/talentedtester.com\/what-is-software-quality\/","og_locale":"en_US","og_type":"article","og_title":"What is Software Quality? - Talented Tester","og_description":"Do you know what software programmers dread the most? Testing.  \u200bHave you ever encountered a situation where the software you\u2019re using – regardless of whether it\u2019s on the computer, your smartphone or your tablet – didn\u2019t quite give you the result it expected? Sometimes it\u2019s plain wrong, sometimes just bizarre and sometimes just in a […]","og_url":"http:\/\/talentedtester.com\/what-is-software-quality\/","og_site_name":"Talented Tester","article_published_time":"2017-11-28T10:56:05+00:00","article_modified_time":"2018-12-22T09:04:09+00:00","og_image":[{"width":450,"height":270,"url":"http:\/\/talentedtester.com\/wp-content\/uploads\/2017\/11\/What-is-Software-Quality-jigsaw-taltented-tester-51579841_s.jpg","type":"image\/jpeg"}],"author":"Talented Tester Support","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Talented Tester Support","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/talentedtester.com\/what-is-software-quality\/","url":"http:\/\/talentedtester.com\/what-is-software-quality\/","name":"What is Software Quality? - Talented Tester","isPartOf":{"@id":"http:\/\/talentedtester.com\/#website"},"datePublished":"2017-11-28T10:56:05+00:00","dateModified":"2018-12-22T09:04:09+00:00","author":{"@id":"http:\/\/talentedtester.com\/#\/schema\/person\/f2587bb99b34702fdc503f068c0726fe"},"breadcrumb":{"@id":"http:\/\/talentedtester.com\/what-is-software-quality\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/talentedtester.com\/what-is-software-quality\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/talentedtester.com\/what-is-software-quality\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/talentedtester.com\/"},{"@type":"ListItem","position":2,"name":"What is Software Quality?"}]},{"@type":"WebSite","@id":"http:\/\/talentedtester.com\/#website","url":"http:\/\/talentedtester.com\/","name":"Talented Tester","description":"The No1 Resource for Software Testers","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/talentedtester.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"http:\/\/talentedtester.com\/#\/schema\/person\/f2587bb99b34702fdc503f068c0726fe","name":"Talented Tester Support","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/talentedtester.com\/#\/schema\/person\/image\/","url":"\/\/www.gravatar.com\/avatar\/b51481991756e76264b3ffa054e3f215?s=96&r=g&d=mm","contentUrl":"\/\/www.gravatar.com\/avatar\/b51481991756e76264b3ffa054e3f215?s=96&r=g&d=mm","caption":"Talented Tester Support"},"url":"http:\/\/talentedtester.com\/author\/talented\/"}]}},"_links":{"self":[{"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/posts\/281"}],"collection":[{"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/comments?post=281"}],"version-history":[{"count":0,"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/posts\/281\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/media\/283"}],"wp:attachment":[{"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/media?parent=281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/categories?post=281"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/talentedtester.com\/wp-json\/wp\/v2\/tags?post=281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}