written 5.8 years ago by |
1. Smoke Testing: is a testing technique that is inspired from hardware testing, which checks for the smoke from the hardware components once the hardware's power is switched on. ii. In Software testing context, smoke testing refers to testing the basic functionality of the build. iii. If the Test fails, build is declared as unstable and it is NOT tested anymore until the smoke test of the build passes.
Smoke Testing - Features:
i. Identifying the business critical functionalities that a product must satisfy.
ii. Designing and executing the basic functionalities of the application.
iii. Ensuring that the smoke test passes each and every build in order to proceed with the testing.
iv. Smoke Tests enables uncovering obvious errors which saves time and effort of test team.
v. Smoke Tests can be manual or automated.
2. Sanity testing,: A software testing technique performed by the test team for some basic tests. The aim of basic test is to be conducted whenever a new build is received for testing. The terminologies such as Smoke Test or Build Verification Test or Basic Acceptance Test or Sanity Test are interchangeably used, however, each one of them is used under a slightly different scenario. ii. Sanity test is usually unscripted, helps to identify the dependent missing functionalities. It is used to determine if the section of the application is still working after a minor change. iii. Sanity testing can be narrow and deep. Sanity test is a narrow regression test that focuses on one or a few areas of functionality.
3. Regression Testing: Regression testing a black box testing technique that consists of reexecuting those tests that are impacted by the code changes. ii. These tests should be executed as often as possible throughout the software development life cycle. Types of Regression Tests: i. Final Regression Tests: - A "final regression testing" is performed to validate the build that hasn't changed for a period of time. This build is deployed or shipped to customers. ii. Regression Tests: - A normal regression testing is performed to verify if the build has NOT broken any other parts of the application by the recent code changes for defect fixing or for enhancement.
4. Usability Testing. i.Usability testing, a non-functional testing technique that is a measure of how easily the system can be used by end users. ii. It is difficult to evaluate and measure but can be evaluated based on the below parameters: iii. Level of Skill required to learn/use the software. It should maintain the balance for both novice and expert user. iv. Time required to get used to in using the software. v. The measure of increase in user productivity if any. vi. Assessment of a user's attitude towards using the software.
5. GUI Testing. i. GUI testing is a testing technique in which the application's user interface is tested whether the application performs as expected with respect to user interface behavior. ii. GUI Testing includes the application behavior towards keyboard and mouse movements and how different GUI objects such as toolbars, buttons, menu bars, dialog boxes, edit fields, lists, behavior to the user input. GUI Testing Guidelines: i.Check Screen Validations ii. Verify All Navigations iii. Check usability Conditions iv. Verify Data Integrity v. Verify the object states vi. Verify the date Field and Numeric Field Formats.
6. Object Oriented Application Testing. i. The Full-Lifecycle Object-Oriented Testing (FLOOT) methodology is a collection of testing techniques to verify and validate objectoriented software. ii. The FLOOT lifecycle is depicted in Figure 9, indicating a wide variety of techniques (described in Table 9 are available to you throughout all aspects of software development. iii. The list of techniques is not meant to be complete: instead the goal is to make it explicit that you have a wide range of options available to you. iv. It is important to understand that although the FLOOT method is presented as a collection of serial phases it does not need to be so: the techniques of FLOOT can be applied with evolutionary/agile processes as well. v. The reason why I present the FLOOT in a "traditional" manner is to make it explicit that you can in fact test throughout all aspects of software development, not just during coding.
7. Client Server Testing. i. This type of testing usually done for 2 tier applications (usually developed for LAN) Here we will be having front-end and backend. ii. The application launched on front-end will be having forms and reports which will be monitoring and manipulating data.E.g: applications developed in VB, VC++, Core Java, C, C++, D2K, PowerBuilder etc., iii. The backend for these applications would be MS Access, SQL Server, Oracle, Sybase, Mysql, Quadbase. iv. The tests performed on these types of applications would be– User interface testing Manual support testing– Functionality testing– Compatibility testing & configuration testing – Intersystem testing.
8. Web Based Testing. i. Web application testing, a software testing technique exclusively adopted to test the applications that are hosted on web in which the application interfaces and other functionalities are tested. Web Application Testing Techniques: 1. Functionality Testing 2. Usability testing 3. Interface testing 4. Compatibility testing 5. Performance testing 6. Security testing. i. Web application testing, a software testing technique exclusively adopted to test the applications that are hosted on web in which the application interfaces and other functionalities are tested.
Web Application Testing Techniques:
Functionality Testing
Usability testing
Interface testing
Compatibility testing
Performance testing
Security testing