Other Testing

  • 1. Ad-hoc testing: This is an informal type of software testing that is performed by software testers, business analyst, developers or any stake holder without referring to test cases or documentation. A person performing ad-hoc testing usually has a good understanding of software requirements and tries to break the software and find defects with the experience and knowledge they have about the domain, requirements and functionality of the software. Ad hoc testing is intended to find defects that were not found by existing test cases.
  • 2. Acceptance testing : This is a formal type of software testing that is performed by end customer to check if the software conforms to their business needs and to the requirements provided earlier. Acceptance tests are usually documented; however an end customers may not document test cases for smaller version or releases.
  • 3. Backward Compatibility Testing : Type of software testing performed to check newer version of the software can work successfully installed over a previous version of the software and newer version of the software works as fine with table structure, data structures, files that were created by previous version of the software.
  • 4. Browser compatibility Testing (BCT) : It's one of the sub types of testing of compatibility testing performed by the testing team. Browser compatibility testing is performed for web applications with a combination of different browsers and operating systems.
  • 5. Compatibility testing : Compatibility testing is one of the test types performed by the testing team. Compatibility testing checks if the software can be run on different hardware, operating system, bandwidth, databases, web servers, application servers, hardware peripherals, emulators, different configuration, processor, different browsers and different versions of the browsers etc.,
  • 6. Documentation testing : Documentation testing is a type of Static testing in which project documents are checked for thoroughness and completeness. Documentation testing can range from doing a spell, grammar check, reading the document from the end user perspective, reading the documenting thoroughly understanding and looking for any ambiguous statements, checking documents that are technical in nature like installation documents for its simplicity and completeness. Documentation will also include EULA (End user license agreements), user guides, Admin guides, installation guides etc.
  • 7. Domain Testing : Domain testing is a software testing technique, Objective of domain testing is to select test cases of critical functionality of the software and execute them. Domain testing does not intend to run all the existing test cases.
  • 8. Failover Cluster Testing : Failover Cluster Testing is a type of software testing which focuses on testing functionality or features that enable software to recover from some of the anticipated failures like a web server failure, hardware or network failure, or web services not available or not responding etc.,
  • 9. Graphical User Interface (GUI) testing : Graphical User Interface (GUI) is aimed at testing the software Graphical User Interface (GUI) of the software meets the requirements as mentioned in the GUI mockups and Detailed design documents. For e.g. checking the length and capacity of the input fields provided on the form, type of input field provided, e.g. some of the form fields can be displayed as a dropdown box or a set of radio buttons. So GUI testing ensures GUI elements of the software are as per approved GUI mockups, detailed design documents and functional requirements. Most of the functional test automation tools work on GUI capture and playback capabilities. This makes script recording, faster at the same time increases the effort on script maintenance.
  • 10. Globalization Testing : Globalization testing is a type of testing, which detects problems with in application design related to usage of the software with different languages, different character sets. Software used should not crash and should not be able to display information correctly. Globalization testing is applied to software that is used by people across different geographies and different language.
  • 11. Internationalization Testing : Internationalization testing is a type of testing that is performed by software testing team to check the extent to which software can support Internationalization i.e., usage of different languages, different character sets, double byte characters etc., For e.g.: Gmail, is a web application that is used by people all over work with different languages, single by or multi byte character sets.
  • 12. I18n Testing : I18n refers to Internationalization Testing, in the word "Internationalization", between letters "I" and "n" there are about 18 letters, hence the name i18n.
  • 13. Installation/un-installation Testing: Installation/un-installation Testing is a type of testing performed by testing team to find defects related to installation and un-installation of software. This type of testing is very important for packaged software applications (off the shelf software applications) where-in end users are expected to install the software. This testing would involve executing software installer in different modes like "express" or "custom" modes and on different types of environments like virtual operating systems and on different operating systems. Installation/un-installation Testing may also require updating software configuration files.
  • 14. Localization Testing : Localization testing a type of software testing performed by software testers, in this type of testing,the software is expected to adapt to a particular locale, it should support a particular locale/language in terms of display, accepting input in that particular locale, display, font, date time, currency etc., related to a particular locale. For e.g. many web applications allow choice of locale like English, French, German or Japanese. So once locale is defined or set in the configuration of software,the software is expected to work as expected with a set language/locale.
  • 15. Sanity Testing : Sanity Testing is a type of testing that is carried out mostly by testers and in some projects by developers as well. Sanity testing is a quick evaluation of the software, environment, network, external systems are up & running, software environment as a whole is stable enough to proceed with extensive testing. Sanity tests are narrow and most of the time sanity tests are not documented.
  • 16. Upgrade testing : Upgrade Testing is a type of testing that is carried out by software testers. Upgrade testing is most often carried out after an hardware upgrade or operating system upgrade or any other supporting software like the JVM or Web server or application server. For e.g. if JRE is upgraded from 1.0 to 2.3.3 then the subset of the functional tests have to be executed to ensure application features are not broken due to JRE upgrade.
  • 17. Embedded device Testing :

    Embedded systems software testing shares much in common with application software testing. Also, embedded systems often have unique characteristics that should be reflected in the test plan. These differences tend to give embedded systems testing its own distinctive flavor.

    Before you begin designing tests, it's important to have a clear understanding of why you are testing. This understanding influences which tests you stress and (more importantly) how early you begin testing. In general, you test for four reasons:

    • To find bugs in software (testing is the only way to do this)
    • To reduce risk to both users and the company
    • To reduce development and maintenance costs
    • To improve performance