{"id":22055,"date":"2021-03-09T01:01:12","date_gmt":"2021-03-09T06:01:12","guid":{"rendered":"http:\/\/bangla.salearningschool.com\/recent-posts\/software-testing-basics-software-development-root-software-testing-by-sayed-ahmed\/"},"modified":"2021-03-09T01:01:12","modified_gmt":"2021-03-09T06:01:12","slug":"software-testing-basics-software-development-root-software-testing-by-sayed-ahmed","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=22055","title":{"rendered":"Software Testing Basics  #Software Development #Root #Software Testing #By Sayed Ahmed"},"content":{"rendered":"<p>Software Testing Basics<\/p>\n<p>Note: Different testing strategies are described here. In practice, a detail test plan is helpful that may be formed with a subset of these strategies [and delivered to the testers] according to the need of the customers, and the company policies.<\/p>\n<p>Five Fold Testing System<\/p>\n<p>Any testing can be described in five dimensions:<br \/>\n1. Testers: Who does the testing?<br \/>\n2. Coverage: What needs to be tested? function, domain, extreme value?<br \/>\n3. Potential Problems: Why you are testing?<br \/>\n4. Activities: How you test?<br \/>\n5. Evaluation: How to measure the success of testing?<\/p>\n<p>Some Forms of Testing<\/p>\n<p>1. Function testing: Test all functions<br \/>\n2. Extreme Value Testing: Test for errors when extreme values of the variables are used<br \/>\n3. beta testing: make other people test your product<\/p>\n<p>All testing involve five dimensions. When we tell to do function testing, we can list: who will do the test (programmers, testers, users of the product, internal employees), what needs to be tested like functions, what kind of problems they need to address such as pass by value or pass by reference, test method, evaluate your test<\/p>\n<p>People Based Techniques<\/p>\n<p>1. User Testing: Tests by the real users of the product<br \/>\n2. Alpha testing: By Test team, firendly insiders<br \/>\n3. Beta testing: Not insiders, not clients, but may be part of the target market, volunteers<br \/>\n  Design Beta tests: appraise the design<br \/>\n  marketing beta tests: to justify will customers buy the product?<br \/>\n  compatibility beta tests: test hw\/sw platform compatibility<br \/>\n4. bug bashes: in house testing, just before release one full day\/half day testing<br \/>\n5. subject matter testing: give an expert on the subject to use and test the product<br \/>\n6. Paired testing: two person together do the tests and shares ideas<br \/>\n7. eat your own dogfood: use the software in-house for your own purpose and check reliability<\/p>\n<p>Coverage based testing<\/p>\n<p>1. Function testing: Test each function<br \/>\nWhite box function testing: testing in respect of code<br \/>\nBlack box function testing: test functions in respect of features and commands<br \/>\n2. Function integration testing: test several functions together<br \/>\n3. Menu tour: check all menu items, all available choices<br \/>\n4. Domain testing: Test variable domains and their effect on functions. Find the possible values that a variable can take, classify the value domain, take representative values from each domain, test the variables and related functions<br \/>\n5. Equivalence class analysis: find equivalent domains and tests for one of them<br \/>\n6.Boundary test: Check for smallest and largest values for a variable<br \/>\n7. best representative testing<br \/>\n8. input field test catalogs or matrices<br \/>\n9. Map and test all the ways to edit a field<br \/>\n10. Logic testing: use logics like if then else. cause effect graphing is used for logic based testing<br \/>\n11. state based testing:<br \/>\n12. Path testing: All possible paths to come\/go to a state<br \/>\n13. Statement and branch coverage: execute all statements and all branching<br \/>\n14. Configuration coverage: test how many types of printers your software support<br \/>\n15. Specification based testing: Test all claims made in the manual\/specification<br \/>\n16. Requirements-based testing: test if all requirements are met<br \/>\n17. combination testing: testing two or more variables in combination with each other<\/p>\n<p>Problems based techniques<br \/>\n1. Input constraints Tests: Check what kinds of input the program can handle. Also check input error protection<br \/>\n2. Output constraints: The inputs are legal but check if they lead to corresponding out value<br \/>\n3. computation constraints : the program may fail while calculating a value<br \/>\n4. Storage constraints: out of memory tests, too big output file to process<br \/>\n5. timimg: race condition, ordering of events<\/p>\n<p>Activity based Testing<\/p>\n<p>How you test?<br \/>\n1. Regression Testing: Test the same issue again.<br \/>\na. Bug fix regression : bug is fixed but do the test again to prove the bug is not fixed<br \/>\nb. old bugs regression: new bug fix has unfixed old bugs. so test again<br \/>\nc. side effect regression\/stability regression : the bug fix has created new bugs\/side effects<br \/>\n2. Scripted Testing: execute step by step methods written by senior tester<br \/>\n3. smoke testing : kind of side effect regression testing. but test to prove that no side effect has come. show everything is working. assume may be some simple stuffs have caused the problems not the bug fix. if you can not prove then the new bug fix has created new errors<br \/>\n4. exploratory testing: keep the testers known about the project, product, market, risks. So new tests will be stronger than earlier ones as experience is more<br \/>\n5. guerilla testing: a fast and extensive exploratory test done by senior tester. test whole day a particular part extensively and decide if that area needs much\/more testing or can be ignored<br \/>\n6. scenario testing:<br \/>\na. test what the customer will really do<br \/>\nb. complex feature testing<br \/>\nc. easy to decide success\/failure<\/p>\n<p>tests that come from use cases.<\/p>\n<p>7. Installation testing: install in various platform, in different methods, check the files, check if the program works?, check uninstallation<br \/>\n8. Load testing: Test the system at high enough load<br \/>\n9. long sequence testing: run the program for days, weeks. problems like wild pointers, memory leaks, stack overflows, and bad interaction among multiple features are caught by this duration testing<br \/>\n10. Performance testing: test the speed\/efficiency of the software. A significant change in speed from time to time is a bad indication and the software need to be optimized<\/p>\n<p>Evaluation based testing<br \/>\nMethods to determine if a test has passed or failed<br \/>\n1. Self verifying data:<br \/>\n2. compare with saved results: if results vary over the week\/day, something is wrong<br \/>\n3. compare with specification: mismatch with the specification, failure<br \/>\n4. consistency:<br \/>\na. with history: software behavior consistent with past behavior?<br \/>\nb. with company image: matches with the image that company focuses on?<br \/>\nc. with claims: does what it is supposed to do<br \/>\nd. user&#8217;s expectations: meets users expectations<br \/>\ne. within product: consistent with other functions<br \/>\nf. purpose: consistent with it&#8217;s purpose?<br \/>\n From: http:\/\/sitestree.com\/?p=282<br \/> Categories:Software Development, Root, Software Testing, By Sayed Ahmed<br \/>Tags:<br \/> Post Data:2013-04-26 03:29:34<\/p>\n<p>\t\tShop Online: <a href='https:\/\/www.ShopForSoul.com\/' target='new' rel=\"noopener\">https:\/\/www.ShopForSoul.com\/<\/a><br \/>\n\t\t(Big Data, Cloud, Security, Machine Learning): Courses: <a href='http:\/\/Training.SitesTree.com' target='new' rel=\"noopener\"> http:\/\/Training.SitesTree.com<\/a><br \/>\n\t\tIn Bengali: <a href='http:\/\/Bangla.SaLearningSchool.com' target='new' rel=\"noopener\">http:\/\/Bangla.SaLearningSchool.com<\/a><br \/>\n\t\t<a href='http:\/\/SitesTree.com' target='new' rel=\"noopener\">http:\/\/SitesTree.com<\/a><br \/>\n\t\t8112223 Canada Inc.\/JustEtc: <a href='http:\/\/JustEtc.net' target='new' rel=\"noopener\">http:\/\/JustEtc.net (Software\/Web\/Mobile\/Big-Data\/Machine Learning) <\/a><br \/>\n\t\tShop Online: <a href='https:\/\/www.ShopForSoul.com'> https:\/\/www.ShopForSoul.com\/<\/a><br \/>\n\t\tMedium: <a href='https:\/\/medium.com\/@SayedAhmedCanada' target='new' rel=\"noopener\"> https:\/\/medium.com\/@SayedAhmedCanada <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Software Testing Basics Note: Different testing strategies are described here. In practice, a detail test plan is helpful that may be formed with a subset of these strategies [and delivered to the testers] according to the need of the customers, and the company policies. Five Fold Testing System Any testing can be described in five &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=22055\">Continue reading<\/a><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1917],"tags":[],"class_list":["post-22055","post","type-post","status-publish","format-standard","hentry","category-fromsitestree-com","item-wrap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":21411,"url":"http:\/\/bangla.sitestree.com\/?p=21411","url_meta":{"origin":22055,"position":0},"title":"Software Testing, Development, Random Thoughts","author":"Author-Check- Article-or-Video","date":"February 28, 2021","format":false,"excerpt":"Happened to write this for a reason; so just pasting it here I watched a Talk probably Google Talk.. One developer from Adobe mentioned that they have 20 developers but 30 testers in their group....They must be terrible developers with all the terrible programmers' taxonomy characteristics....Probably, I am slightly terrible\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"image\/gif;base64,R0lGODlhAQABAIAAAP\/\/\/\/\/\/\/yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==","width":350,"height":200},"classes":[]},{"id":69400,"url":"http:\/\/bangla.sitestree.com\/?p=69400","url_meta":{"origin":22055,"position":1},"title":"Should developers test software? #22","author":"Author-Check- Article-or-Video","date":"August 20, 2021","format":false,"excerpt":"Not really my opinion; however, as found in different articles and opinions. You may have a business case to utilize developers for software testing; Also, your developers may end up being a good tester as well, and happily willing to do the software testing work.Should developers test software?Software testing is\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":68489,"url":"http:\/\/bangla.sitestree.com\/?p=68489","url_meta":{"origin":22055,"position":2},"title":"Software Testing #88","author":"Author-Check- Article-or-Video","date":"August 4, 2021","format":false,"excerpt":"Software Testing Developer testing: Some Talk Debugging not Testing Should developers test software (according to Steve McNell)? But you may find that in most small software companies - testing is usually considered to be a developers' responsibility (budget issue) Software Testing Basics Unit Testing in Eclipse for Java From: http:\/\/sitestree.com\/?p=5219\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":75786,"url":"http:\/\/bangla.sitestree.com\/?p=75786","url_meta":{"origin":22055,"position":3},"title":"What to know for Software Automation?","author":"Sayed","date":"May 22, 2023","format":false,"excerpt":"\u2022What is TEST AUTOMATION? \u2022What are the different Types of Software Testing? \u2022Give examples of Manual Testing Tools \u2022Give some overview of Test Automation \u2022What is the Purpose and need of Automation? \u2022Give some Example of Automation tools? \u2022Difference between Automation and Manual Testing? \u2022Def, Reliability, Reuse, Batch, Time Saving,\u2026","rel":"","context":"In &quot;\u09ac\u09cd\u09b2\u0997 \u0964 Blog&quot;","block_context":{"text":"\u09ac\u09cd\u09b2\u0997 \u0964 Blog","link":"http:\/\/bangla.sitestree.com\/?cat=182"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":65756,"url":"http:\/\/bangla.sitestree.com\/?p=65756","url_meta":{"origin":22055,"position":4},"title":"Laravel Testing Databases #Laravel","author":"Author-Check- Article-or-Video","date":"July 13, 2021","format":false,"excerpt":"public function testDatabase() { \/\/ Make call to application... $this->seeInDatabase('users', [ 'email' => 'sally@example.com' ]); } --- <?php use IlluminateFoundationTestingWithoutMiddleware; use IlluminateFoundationTestingDatabaseMigrations; use IlluminateFoundationTestingDatabaseTransactions; class ExampleTest extends TestCase { use DatabaseMigrations; \/** * A basic functional test example. * * @return void *\/ public function testBasicExample() { $this->visit('\/') ->see('Laravel 5');\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":65758,"url":"http:\/\/bangla.sitestree.com\/?p=65758","url_meta":{"origin":22055,"position":5},"title":"Laravel Application Testing #Laravel","author":"Author-Check- Article-or-Video","date":"July 13, 2021","format":false,"excerpt":"<?php use IlluminateFoundationTestingWithoutMiddleware; use IlluminateFoundationTestingDatabaseTransactions; class ExampleTest extends TestCase { \/** * A basic functional test example. * * @return void *\/ public function testBasicExample() { $this->visit('\/') ->see('Laravel 5') ->dontSee('Rails'); } } -- public function testBasicExample() { $this->visit('\/') ->click('About Us') ->seePageIs('\/about-us'); } -- Also check: Selenium web-drive: http:\/\/www.guru99.com\/first-webdriver-script.html From: http:\/\/sitestree.com\/?p=4687\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/22055","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22055"}],"version-history":[{"count":0,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/22055\/revisions"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22055"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22055"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}