{"id":357,"date":"2021-08-11T10:35:05","date_gmt":"2021-08-11T08:35:05","guid":{"rendered":"https:\/\/proofit.tech\/blog\/?p=357"},"modified":"2022-11-25T10:07:46","modified_gmt":"2022-11-25T09:07:46","slug":"types-of-functional-software-testing","status":"publish","type":"post","link":"https:\/\/proofit.tech\/blog\/types-of-functional-software-testing\/","title":{"rendered":"Types of functional software testing"},"content":{"rendered":"\n<p>To better understand the importance of automated testing and its <a href=\"https:\/\/proofit.tech\/blog\/en\/why-and-how-incorporate-digital-transformation-into-corporate-culture\/\" target=\"_blank\" aria-label=\"critical role in IT processes within a company (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">critical role in IT processes within a company<\/a>, we need to know the meaning of the concepts associated with it. In this article, we present the types and definitions of functional testing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Alpha testing<\/h3>\n\n\n\n<p>Alpha testing attempts to identify all possible bugs in the software before it reaches users. Alpha testing attempts to simulate real users, so they test the execution of tasks that a typical user can perform. These tests are performed before they are made available to external users, i.e., the application is released for beta testing. Alpha testing is usually performed in-house at the system test level. This type of test is most common for boxed applications, but can also be used for custom-made applications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">B<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Beta testing<\/h3>\n\n\n\n<p>Beta test is usually performed by the customer\/end user. This is the last stage of testing before an application or software is released. Beta software version is marked as unstable by the manufacturer and always makes the previous stable version available. The purpose of the beta versions is to give users who want to learn about the new features insight into the changes before making the development available to all users in a company or organization. Beta test is performed to ensure that there are no major bugs in the software and that it meets business requirements from an end-user perspective. Beta tests can be classified into the acceptance test level.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Black-box testing<\/h3>\n\n\n\n<p>Black-box testing is a software testing method that examines the requirements and functionality of only one application. It only tests the \u201coutputs\u201d, the design of the internal system is ignored. This testing method can be used at all levels of software testing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">E<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Exception Handling testing<\/h3>\n\n\n\n<p>Exceptions are handled for this type of testing. That is, by handling runtime errors, we ensure that the test execution process is not interrupted. So when testing the software, we skip the incorrect instructions and continue the further test run.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exploratory testing<\/h3>\n\n\n\n<p>Exploratory tests are ad hoc in nature, i.e., test cases are created during test design and execution. Exploratory tests are usually informal, debugging is done by the testing team.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">G<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Gray-box testing<\/h3>\n\n\n\n<p>Gray-box testing is a combination of white and black-box testing. The name of the test symbolizes that the software is like a semi-transparent or gray box that the tester has limited access to, the internal structure of the software is only partially known. This type of test usually focuses on context-specific errors related to web systems.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">GUI testing<\/h3>\n\n\n\n<p>The purpose of Graphical User Interface (GUI) testing is to validate the GUI according to business requirements. This testing is usually done through a variety of test cases. GUI testing involves checking and aligning screens with controls, input fields, menus, buttons, icons, and all bars (toolbar, menu bar, dialog boxes, windows, etc.).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Mocking testing<\/h3>\n\n\n\n<p>For mocking testing, a fake version of real software is created that simulates the behavior of real software. With this type of test, testers make test runs faster and more reliable. For unit testing, mocking testing is used.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">S<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Sanity testing<\/h3>\n\n\n\n<p>Sanitary or sobriety testing determines whether the structure of a new application or software is stable enough to be subjected to more serious testing. If software crashes during sanitary testing, an application is built to repair it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Smoke testing<\/h3>\n\n\n\n<p>Smoke testing can provide information on the stability of the system\/application architecture. Smoke testing checks for a serious bug in the software that may prevent the testing team from testing the application in more detail.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Stubbing testing<\/h3>\n\n\n\n<p>Stubbing testing is used when the implementation interacts only with a certain behavior of the object.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">T<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">TDD<\/h3>\n\n\n\n<p>\u201cTest-driven development\u201d is a programming style in which three activities are closely intertwined: coding, testing (writing unit tests), and design. With TDD method, software development is done by running unit tests and whenever they fail, new code is written to successfully complete the test.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">U<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">UAT<\/h3>\n\n\n\n<p>User Acceptance Testing is a type of test performed by the end user or customer to verify and\/or accept the software system before arming the application. UAT is performed in the final phase of testing after functional, integration, and system testing is complete.<\/p>\n\n\n\n<p>Forr\u00e1s: <a href=\"https:\/\/gyires.inf.unideb.hu\/teszt\/Szoftverteszteles_a_gyakorlatban.pdf\" target=\"_blank\" aria-label=\"1 (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">1<\/a> <a href=\"https:\/\/www.softwaretestingnews.co.uk\/types-of-software-testing-an-incomplete-guide\/\" target=\"_blank\" aria-label=\"2 (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">2<\/a> <a href=\"https:\/\/circleci.com\/blog\/how-to-test-software-part-i-mocking-stubbing-and-contract-testing\/\" target=\"_blank\" aria-label=\"3 (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">3<\/a> <a href=\"https:\/\/www.agilealliance.org\/glossary\/tdd\/#q=~(infinite~false~filters~(postType~(~&#039;page~&#039;post~&#039;aa_book~&#039;aa_event_session~&#039;aa_experience_report~&#039;aa_glossary~&#039;aa_research_paper~&#039;aa_video)~tags~(~&#039;tdd))~searchTerm~&#039;~sort~false~sortDirection~&#039;asc~page~1)\" target=\"_blank\" aria-label=\"4 (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">4<\/a> <a href=\"https:\/\/www.geeksforgeeks.org\/gray-box-testing-software-testing\/\" target=\"_blank\" aria-label=\"5 (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">5<\/a> <a href=\"https:\/\/www.guru99.com\/user-acceptance-testing.html\" target=\"_blank\" aria-label=\"6 (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">6<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Two major groups of software test types are distinguished in the IT profession. There are functional and non-functional software tests. In this article, we will look at the types of functional testing.<\/p>\n","protected":false},"author":2,"featured_media":353,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-357","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-en"],"_links":{"self":[{"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/posts\/357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/comments?post=357"}],"version-history":[{"count":2,"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/posts\/357\/revisions"}],"predecessor-version":[{"id":360,"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/posts\/357\/revisions\/360"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/media\/353"}],"wp:attachment":[{"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/media?parent=357"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/categories?post=357"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/proofit.tech\/blog\/wp-json\/wp\/v2\/tags?post=357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}