{"id":2313,"date":"2021-08-10T10:00:45","date_gmt":"2021-08-10T10:00:45","guid":{"rendered":"https:\/\/tech.kanavu.org\/blogs\/uncategorized\/software-testing-an-introduction\/"},"modified":"2021-08-10T10:00:45","modified_gmt":"2021-08-10T10:00:45","slug":"software-testing-an-introduction","status":"publish","type":"post","link":"https:\/\/tech.kanavu.org\/blogs\/digital\/software-testing-an-introduction\/","title":{"rendered":"Software testing \u2013 An introduction"},"content":{"rendered":"<p>I believe that this article will give you a good understanding about software testing even if you are from a non-IT industry. First, let me tell you from the base, what software is and then, what testing is. <\/p>\n<p>A software is a program\/set of programs enabling a computer<br \/>\nto do the given task. For example, when we are done with the wish list of our shopping<br \/>\nand we are about to do payment, we get a computerized bill for the same. Who<br \/>\ngenerates the bill? Obviously, it is a computer, right. Of course not. It is a<br \/>\nsoftware merely developed to serve the purpose of bill generation by<br \/>\ncalculating \u2018n\u2019 number of customer products available at different rates with<br \/>\nease, time saving, and perfect stock maintenance concept. So, the overall<br \/>\npurpose of the software is to satisfy the customer\u2019s as well as the vendor\u2019s<br \/>\nneeds. It is notable that the manual work is done by a software with the help<br \/>\nof a computer and not by the computer. The software instructs the computer to<br \/>\ndo the given task. This set of instructions, for example, billing the products<br \/>\nincludes required arithmetic operations like addition, multiplication,<br \/>\nsubtraction for some offers or discounts that are designed or built into a<br \/>\nprogramming language and which can be understood by a computer. Thus, the<br \/>\ncomputer performs the given task (bill generation) as per the instructions<br \/>\n(arithmetic operations) of the program (software) by satisfying vendors and<br \/>\ncustomers.<\/p>\n<p>I hope it is clear what a software is&#8230; and its purpose of<br \/>\ndevelopment. What is testing then\u2026when do we do this testing&#8230;? maybe after<br \/>\nthe launch of the software\u2026or before or after a month or two of the software<br \/>\ndevelopment\u2026when does testing take place exactly\u2026? I can see that so many<br \/>\nquestions like these are scrolling through your mind. Here I am, to tell you in<br \/>\ndetail.<\/p>\n<p>Testing, in general, means some diagnoses. Yes, it is<br \/>\nsomething similar to a blood test. What is a blood test recommended for? Just<br \/>\nto identify the levels of certain components of blood, some infection, and<br \/>\nexistence of infection causing germs\/microbes? The purpose of the blood test is<br \/>\nto get a remedy to recover back to normal. The same for testing the software.<br \/>\nTesting is very much required for a software to detect the errors (bugs), occurrence<br \/>\nof some malfunctions, to find any drawbacks in its performance. The purpose of<br \/>\ntesting is to make the software error-free and to recover the software to<br \/>\nfunction normally. This testing must be performed before the launch of the<br \/>\nsoftware. The vital notion of testing is to deliver error-free software.<\/p>\n<p>Software\/website testing has a few basic steps to be performed in order to make it complete and professional. Since we are in a digital world it is must to know such things. Software testing techniques are more or less similar for website testing too. Website testing techniques include the following:<\/p>\n<p>Functional<br \/>\ntestingUsability<br \/>\ntestingInterface<br \/>\ntestingDatabase<br \/>\ntestingCompatibility<br \/>\ntestingPerformance<br \/>\ntestingSecurity<br \/>\ntesting<\/p>\n<p>Functional testing:<\/p>\n<p>It is a process to test each and every feature of the website<br \/>\nor a software. Manual testing and automated testing tools are available to<br \/>\nperform this test. The web-based testing activities include testing all<br \/>\nthe links like internal links, external links, mail to links,<br \/>\netc. Form testing includes form readability, menus, buttons,<br \/>\nfield validation, data input and retrieval, display of messages, mandatory<br \/>\nfield entry, performance of form as expected, etc. Cookies are the small<br \/>\ntemporary files used by the website to remember the active user sessions. That<br \/>\nis why it is not needed to log in each and every time when we visit a website. Cookie<br \/>\ntesting is required to check whether active user sessions are created<br \/>\nand deleted (session expires after a particular time duration and asks for login<br \/>\ncredentials again). Work flow testing checks for the flow of work<br \/>\n(connectivity) which takes users to a series of webpages. HTML and CSS<br \/>\ntesting check for syntax errors and readable colour schemes. QTP and<br \/>\nSelenium are the available tools to perform this functional testing.<\/p>\n<p>Usability testing:<\/p>\n<p>It is a vital test which checks for the user friendliness, quality content, and convenient navigation from one page to another in the application (software\/website). Navigation test checks that all the available menus, buttons, links to different webpages of the site are visible and consistent on all the pages. Content test check is for spelling, grammatical errors and \u201calt txt\u201d for images. Chalkmark and Clicktale are the available tools to perform the usability test.<\/p>\n<p>Interface testing:<\/p>\n<p>It is one of the required test techniques which checks for the proper communication between the application and the data server. Interface connects the application with the data server and all the user communication. Data can be stored and retrieved from the application to the data server and vice versa only through the interface. Say, for example, browser.<\/p>\n<p>Interface testing checks for the following:<\/p>\n<p>To make sure that the user does not encounter any problem when they<br \/>\n     use the application\/software\/website.To know about which part of the application is used most by the<br \/>\n     users, say, for example, online payment page, product purchase page, etc.To check for the security requirements when communication happens<br \/>\n     between the systems (front end and back end).To check whether the interface can display any error messages to the<br \/>\n     user or provide any solution\/intimation about network issues that happen between<br \/>\n     an application and data serverAlertfox, Ranorex are the tools used to perform this test.<\/p>\n<p>Database testing<\/p>\n<p>It is very important to do database testing since all the<br \/>\nuser data and product details are to be stored here.<\/p>\n<p>Database testing includes:<\/p>\n<p>Test for the display of errors while executing queries.Checking that the accuracy and reliability of data is maintained<br \/>\n     while creating, updating or deleting data in the database.Test for the response time of queries.Testing that data retrieved from the database is displayed<br \/>\n     accurately in the application.QTP and Selenium are the tools used to do this test.<\/p>\n<p>Compatibility<br \/>\ntesting<\/p>\n<p>Compatibility testing makes sure that the web application<br \/>\ndisplays correctly across different devices, across different browsers and<br \/>\ndifferent OS.<\/p>\n<p>This testing will also check for mobile compatibility with different mobile devices like iOS, Android, Blackberry, Windows, etc.<\/p>\n<p>Performance testing<\/p>\n<p>Performance testing will do the<br \/>\nfollowing:<\/p>\n<p>Check for the response time at different connection speeds.Test the web application to make sure that its behaviour is fine<br \/>\n     under normal and peak loads.Test for the occurrences of a crash due to peak load.Ensure buffering to reduce load times.<\/p>\n<p>Security testing<\/p>\n<p>It&nbsp;is the most vital<br \/>\ntest to be conducted if it is an e-commerce website\/possesses a payment gateway<br \/>\nthat stores sensitive customer information like credit cards. Security testing<br \/>\nincludes:<\/p>\n<p>Test for unauthorized access.Make sure to secure pages that should not be permitted for all      users to access.Download of certain files to be restricted for unauthorized users.Check for sessions that are automatically deleted after prolonged      user inactivity.Usage of SSL certificates to auto encrypt all the webpages during      communication, to get rid of hackers.<\/p>\n<p>Software testing tools are also available to do automated testing. I hope you have got to know about software testing\/web application testing. Congratulations!! You have successfully completed level 1 in software testing and you are now a basic grade software tester..!! Wow..fantastic of You..!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I believe that this article will give you a good understanding about software testing even if you are from a non-IT industry. First, let me tell you from the base, what software is and then, what testing is. A software is a program\/set of programs enabling a computer to do the given task. For example, when we are done with the wish list of our shopping and we are about to do payment, we get a computerized bill for the same. Who generates the bill? Obviously, it is a computer, right. Of course not. It is a software merely developed to serve the purpose of bill generation by calculating \u2018n\u2019 number of customer products available at different rates with ease, time saving, and perfect stock maintenance concept. So, the overall purpose of the software is to satisfy the customer\u2019s as well as the vendor\u2019s needs. It is notable that the manual work is done by a software with the help of a computer and not by the computer. The software instructs the computer to do the given task. This set of instructions, for example, billing the products includes required arithmetic operations like addition, multiplication, subtraction for some offers or discounts that are designed or built into a programming language and which can be understood by a computer. Thus, the computer performs the given task (bill generation) as per the instructions (arithmetic operations) of the program (software) by satisfying vendors and customers. I hope it is clear what a software is&#8230; and its purpose of development. What is testing then\u2026when do we do this testing&#8230;? maybe after the launch of the software\u2026or before or after a month or two of the software development\u2026when does testing take place exactly\u2026? I can see that so many questions like these are scrolling through your mind. Here I am, to tell you in detail. Testing, in general, means some diagnoses. Yes, it is something similar to a blood test. What is a blood test recommended for? Just to identify the levels of certain components of blood, some infection, and existence of infection causing germs\/microbes? The purpose of the blood test is to get a remedy to recover back to normal. The same for testing the software. Testing is very much required for a software to detect the errors (bugs), occurrence of some malfunctions, to find any drawbacks in its performance. The purpose of testing is to make the software error-free and to recover the software to function normally. This testing must be performed before the launch of the software. The vital notion of testing is to deliver error-free software. Software\/website testing has a few basic steps to be performed in order to make it complete and professional. Since we are in a digital world it is must to know such things. Software testing techniques are more or less similar for website testing too. Website testing techniques include the following: Functional testingUsability testingInterface testingDatabase testingCompatibility testingPerformance testingSecurity testing Functional testing: It is a process to test each and every feature of the website or a software. Manual testing and automated testing tools are available to perform this test. The web-based testing activities include testing all the links like internal links, external links, mail to links, etc. Form testing includes form readability, menus, buttons, field validation, data input and retrieval, display of messages, mandatory field entry, performance of form as expected, etc. Cookies are the small temporary files used by the website to remember the active user sessions. That is why it is not needed to log in each and every time when we visit a website. Cookie testing is required to check whether active user sessions are created and deleted (session expires after a particular time duration and asks for login credentials again). Work flow testing checks for the flow of work (connectivity) which takes users to a series of webpages. HTML and CSS testing check for syntax errors and readable colour schemes. QTP and Selenium are the available tools to perform this functional testing. Usability testing: It is a vital test which checks for the user friendliness, quality content, and convenient navigation from one page to another in the application (software\/website). Navigation test checks that all the available menus, buttons, links to different webpages of the site are visible and consistent on all the pages. Content test check is for spelling, grammatical errors and \u201calt txt\u201d for images. Chalkmark and Clicktale are the available tools to perform the usability test. Interface testing: It is one of the required test techniques which checks for the proper communication between the application and the data server. Interface connects the application with the data server and all the user communication. Data can be stored and retrieved from the application to the data server and vice versa only through the interface. Say, for example, browser. Interface testing checks for the following: To make sure that the user does not encounter any problem when they use the application\/software\/website.To know about which part of the application is used most by the users, say, for example, online payment page, product purchase page, etc.To check for the security requirements when communication happens between the systems (front end and back end).To check whether the interface can display any error messages to the user or provide any solution\/intimation about network issues that happen between an application and data serverAlertfox, Ranorex are the tools used to perform this test. Database testing It is very important to do database testing since all the user data and product details are to be stored here. Database testing includes: Test for the display of errors while executing queries.Checking that the accuracy and reliability of data is maintained while creating, updating or deleting data in the database.Test for the response time of queries.Testing that data retrieved from the database is displayed accurately in the application.QTP and Selenium are the tools used to do this test. Compatibility testing Compatibility testing makes sure that the web application displays correctly across different devices, across<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-2313","post","type-post","status-publish","format-standard","hentry","category-digital"],"aioseo_notices":[],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"","author_link":"https:\/\/tech.kanavu.org\/blogs\/author\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/tech.kanavu.org\/blogs\/category\/digital\/\" rel=\"category tag\">Digital<\/a>","rttpg_excerpt":"I believe that this article will give you a good understanding about software testing even if you are from a non-IT industry. First, let me tell you from the base, what software is and then, what testing is. A software is a program\/set of programs enabling a computer to do the given task. For example,&hellip;","_links":{"self":[{"href":"https:\/\/tech.kanavu.org\/blogs\/wp-json\/wp\/v2\/posts\/2313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tech.kanavu.org\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tech.kanavu.org\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tech.kanavu.org\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/tech.kanavu.org\/blogs\/wp-json\/wp\/v2\/comments?post=2313"}],"version-history":[{"count":0,"href":"https:\/\/tech.kanavu.org\/blogs\/wp-json\/wp\/v2\/posts\/2313\/revisions"}],"wp:attachment":[{"href":"https:\/\/tech.kanavu.org\/blogs\/wp-json\/wp\/v2\/media?parent=2313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tech.kanavu.org\/blogs\/wp-json\/wp\/v2\/categories?post=2313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tech.kanavu.org\/blogs\/wp-json\/wp\/v2\/tags?post=2313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}