Showing posts with label types-of-software-testing. Show all posts
Showing posts with label types-of-software-testing. Show all posts

Monday, 15 July 2013

Compatibility Testing - Definition, Types, Tools Used

What is Compatibility Testing

  • Compatibility testing is to check whether your software is capable of running on different hardware, operating systems, applications , network environments or mobile devices.
  • Compatibility Testing is a type of the Non-functional testing
  • Initial phase of compatibility testing is to define the set of environments or platforms the application is expected to work on.
  • Tester should have enough knowledge on the platforms / software / hardware to understand the expected application behavior under different configurations.
  • Environment needs to be set-up for testing with different platforms, devices, networks to check whether your application runs well under different configurations.
  • Report the bugs .Fix the defects. Re-test to confirm defect fixing.

compatibility-testing

Types of Compatibility testing :

  • Hardware
  • Operating Systems
  • Software
  • Network
  • Browser
  • Devices
  • Mobile
  • Versions of the software
Let’s look into compatibility testing types briefly.

Hardware : It checks software to be compatible with different hardware configurations .

Operating Systems: It checks your software to be compatible with different Operating Systems like Windows , Unix , Mac OS etc.

Software: It checks your developed software to be compatible with other software’s.For example: MS Word application should be compatible with other softwares like MS Outlook,MS Excel , VBA etc.

Network: Evaluation of performance of system In network with varying parameters such as Bandwidth, Operating speed, Capacity. It also checks application in different networks with all parameters mentioned earlier.

Browser: It checks compatibility of your website with different browsers like Firefox , Google Chrome , Internet Explorer etc.

Devices : It checks compatibility of your software with different devices like USB port Devices, Printers and Scanners, Other media devices and Blue tooth.

Mobile: Checking you software is compatible with mobile platforms like Android , iOS etc.

Versions of the software: It is verifying you software application to be compatible with different versions of software.For instance checking your Microsoft Word to be compatible with Windows 7, Windows 7 SP1 , Windows 7 SP 2 , Windows 7 SP 3.

There are two types of version checking.

  • Types of Version Checking

    • Backward compatibility Testing
    • Forward compatibility Testing
Backward compatibility Testing : is to verify the behavior of the developed hardware/software with the older versions of the hardware/software.

Forward compatibility Testing : is to verify the behavior of the developed hardware/software with the newer versions of the hardware/software.

Tools for compatibility testing

  • Adobe Browser Lab – Browser Compatibility Testing - This tool helps check your application in different browsers.
  • Secure Platform – Hardware Compatibility tool - This tools includes necessary drivers for a specific hardware platform and it provides information on tool to check for CD burning process with CD burning tools.
  • Virtual Desktops - Operating System Compatibility - This is used to run the applications in multiple operating systems as virtual machines. N Number of systems can be connected and compare the results.

Monday, 8 July 2013

Adhoc Testing - Definition, Types, Advantages, Disadvantages

Adhoc Testing

Definition :

  • Adhoc testing is an informal testing type with an aim to break the system.
  • This testing is usually an unplanned activity.
  • It does not follow any test design techniques to create test cases. In fact is does not create test cases altogether!
  • It is primarily performed if the knowledge of testers in the system under test is very high.
  • Testers randomly test the application without any test cases or any business requirement document.
  • Adhoc testing can be achieved with the testing technique called Error Guessing.
  • Error guessing can be done by the people having enough experience on the system to “geuss” the most likely source of errors.

Adhoc-testing-defintion



Types of adhoc testing

  1. Buddy Testing
  2. Pair testing
  3. Monkey Testing

Buddy Testing

Two buddies mutually work on identifying defects in the same module. Mostly one buddy will be from development team and another person will be from testing team. Buddy testing helps the testers develop better test cases and development team can also make design changes early. This testing usually happens after unit testing completion.

Pair testing

Two testers are assigned modules, share ideas and work on the same machines to find defects. One person can execute the tests and another person can take notes on the findings. Roles of the persons can be a tester and scriber during testing.

Buddy testing is combination of unit and system testing together with developers and testers but Pair testing is done only with the testers with different knowledge levels.(Experienced and non-experienced to share their ideas and views)

Monkey Testing

Randomly test the product or application without test cases with a goal to break the system

Advantages of Adhoc Testing :

  • Adhoc Testing saves lot of time as it doesn’t require elaborate test planning , documentation and test case design.
  • It checks for the completeness of testing and find more defects then  planned testing.

Disadvantages of Adhoc Testing : 

  • This testing requires no documentation/ planning /process to be followed. Since this testing aims at finding defects through random approach, without any documentation, defects will not be mapped to test cases. Hence, sometimes, it is very difficult to reproduce the defects as there are no test-steps or requirements mapped to it.

Thursday, 27 June 2013

Different Types Of White Box Testing

Different Types Of White Box Testing

Path Testing :

Taking up each and every individual path through which the flow of code taken place.

Loop Testing :

A Piece of code executing continuously until the condition becomes false and testing whether it is proper or not.

Ex: For (Loop=1; Loop<=10; Loop++)
      {
        ------
        ------
       }

Friday, 24 May 2013

All (100) Types of Software Testing

All (100) Types of Software Testing

Below is an exhaustive list of “types of software testing” and a brief description about each type of software testing, like load testing, stress testing, unit testing, system testing, acceptance testing, certification testing, performance testing, user acceptance testing, penetration testing, automated testing, beta testing, compatibility testing, security testing, benchmark testing, functional testing, negative testing, destructive testing, integration testing, regression testing, alpha testing, end-to-end testing, path testing, smoke testing, black box testing, stability testing, usability testing etc., and many more, about 100 software testing types with descriptions are listed below.

Why there are so many types of software testing ?

Quality of software is assessed in terms of 6 Quality factors (Functionality, Reliability, Efficiency, Usability, Maintainability and Portability). Each of below listed type of software testing is designed to validate software for one or more of the mentioned quality factors. More types of software testing have evolved to keep up with the pace with rapid increase in complexity of the software design, frameworks & Programming languages, increased number of users with popularity of internet, advent of new platforms and technologies. With increase in number of software testing types to be performed, need for software testing tools has increased as well.

1. Ad-hoc testing :

This is a 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. 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 confirms to their business needs and to the requirements provided earlier. Acceptance tests are usually documented; however end customers may not document test cases for smaller version or releases.

3. Accessibility testing:

This is a formal type of software testing that helps to determine whether the software can be used by people with disability. Disability can be blind, deaf, color blindness, learning disability etc. There are also companies and consultants that provide website accessibility audits.

4. Aging testing:

This is a type of performance testing that is carried out by running software for longer duration like weeks or months and check performance of software to see if the software performance degrades or shows any signs of degradation after running for a longer period of time. Aging Test is also known as Soak testing and also known as longevity testing.

5. Alpha Testing:

This is a formal type of testing that is performed by end customers at development site. Alpha testing is conducted before taking the software to Beta testing.

Sunday, 19 May 2013

What is Automation testing and List of Automation Testing Tools

What is Automation testing ?

Automation testing which is also known as Test Automation, is when the tester writes scripts and uses another software to test the software. This process involves automation of a manual process. Automation Testing is used to re-run the test scenarios that were performed manually, quickly and repeatedly.

Apart from regression testing, Automation testing is also used to test the application from load, performance and stress point of view. It increases the test coverage; improve accuracy, saves time and money in comparison to manual testing.

What to automate ?

It is not possible to automate everything in the Software; however the areas at which user can make transactions such as login form or registration forms etc, any area where large amount of users. can access the Software simultaneously should be automated.

Furthermore all GUI items, connections with databases, field validations etc can be efficiently tested by automating the manual process.

When to automate ?

  • Test Automation should be uses by considering the following for the Software:
  • Large and critical projects.
  • Projects that require testing the same areas frequently.
  • Requirements not changing frequently.
  • Accessing the application for load and performance with many virtual users.
  • Stable Software with respect to manual testing.
  • Availability of time.

How to automate ?

Automation is done by using a supportive computer language like vb scripting and an automated software application. There are a lot of tools available which can be use to write automation scripts. Before mentioning the tools lets identify the process which can be used to automate the testing:
  • Identifying areas within a software for automation.
  • Selection of appropriate tool for Test automation.
  • Writing Test scripts.
  • Development of Test suits.
  • Execution of scripts.
  • Create result reports.
  • Identify any potential bug or performance issue.
  • Software testing tools

List of Automation Testing Tools :

Benefits of Automated Testing

  • Reliable: Tests perform precisely the same operations each time they are run, thereby eliminating human errors.
  • Repeatable: You can test how the software reacts under repeated execution of the same operations.
  • Programmable: You can program sophisticated tests that bring out hidden information from the application.
  • Comprehensive: You can build a suite of tests that covers every feature in your application.
  • Reusable: You can reuse tests on different versions of an application, even if the users interface changes.
  • Better Quality Software: You can run more tests in less time with fewer resources.
  • Fast: Automated tools run tests significantly faster than human users.
  • Cost Reduction: The cost is reduced as the number of resources for regression test is reduced.
  • Choosing the right tools for the job and targeting the right areas of the organization to deploy them can only realize these benefits. The right areas where the automation fit must be chosen.

Disadvantages of Automation Testing

Though the automation testing has many advantages, it has its own disadvantages too. Some of the disadvantages are:
  • Proficiency is required to write the automation test scripts.
  • Debugging the test script is major issue. If any error is present in the test script, sometimes it may lead to deadly consequences.
  • Test maintenance is costly in case of playback methods. Even though a minor change occurs in the GUI, the test script has to be re-recorded or replaced by a new test script.
  • Maintenance of test data files is difficult, if the test script tests more screens.
Some of the above disadvantages often cause damage to the benefit gained from the automated scripts. Though the automation testing has pros and corns, it is adapted widely all over the world.

Read more about Manual Testing and Manual Testing vs Automated testing

Friday, 26 April 2013

Black box testing and White box testing

What is black box testing and white box testing :

Black Box Testing :

Black-box testing is a method of software testing that examines the functionality of an application (e.g. what the software does) without peering into its internal structures or workings.

Definition by ISTQB

  • Black box testing: Testing, either anatomic or non-functional, after advertence to the Centralized anatomy of the basic or system.

White Box Testing :

White box testing is aswell accepted as Clear Box Testing, Open Box Testing, Glass Box Testing, Transparent Box Testing, Code-Based Testing or Structural Testing!

Definition by ISTQB

  • White-box testing: Testing based on an assay of the centralized anatomy of the basic or system
Read more about Manual Testing , Automation Testing and Manual Testing vs Automated testing

Thursday, 4 April 2013

Common types of computer bugs

What are the common types of computer bugs and define it ?

What are the types of bugs?

A bug could be an abstruse absurdity (code is syntactically correct, about the activated scientist or artist declared it to try to to one affair else).

types-of-bugs

  • Arithmetic bugs
  • Interfacing bugs
  • Teamworking bugs
  • Performance bugs
  • Multi-threading programming bugs
  • Resource bugs
  • Syntax bugs
  • Access violations
  • Logic bugs

Black box testing and its advantages and disadvantages

What is black box testing ?

Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/design/implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional.

Definition by ISTQB :
Black box testing: Testing, either functional or non-functional, without reference to the internal structure of the component or system. Black box test design technique: Procedure to derive and/or select test cases based on an analysis of the specification, either functional or non-functional, of a component or system without reference to its internal structure.

 Black-Box-Testing

This method is named so because the software program, in the eyes of the tester, is like a black box; inside which one cannot see.

This method of attempts to find errors in the following categories:

  • Incorrect or missing functions
  • Interface errors
  • Errors in data structures or external database access
  • Behavior or performance errors
  • Initialization and termination errors


Example :
A tester, without knowledge of the internal structures of a website, tests the web pages by using a browser; providing inputs (clicks, keystrokes) and verifying the outputs against the expected outcome.

black-box-testing

Black Box Testing Techniques :

Following are some techniques that can be used for designing black box tests.

  • Equivalence partitioning
  • Boundary Value Analysis
  • Cause Effect Graphing

Equivalence partitioning

Equivalence Partitioning is a software test design technique that involves dividing input values into valid and invalid partitions and selecting representative values from each partition as test data.

Boundary Value Analysis

Boundary Value Analysis is a software test design technique that involves determination of boundaries for input values and selecting values that are at the boundaries and just inside/outside of the boundaries as test data.

Cause Effect Graphing

Cause Effect Graphing is a software test design technique that involves identifying the cases (input conditions) and effects (output conditions), producing a Cause-Effect Graph, and generating test cases accordingly.

Advantages of Black Box Testing :

Tests are done from a user’s point of view and will help in exposing discrepancies in the specifications
Tester need not know programming languages or how the software has been implemented
Tests can be conducted by a body independent from the developers, allowing for an objective perspective and the avoidance of developer-bias
Test cases can be designed as soon as the specifications are complete

Disadvantages of Black Box Testing :

Only a small number of possible inputs can be tested and many program paths will be left untested
Without clear specifications, which is the situation in many projects, test cases will be difficult to design
Tests can be redundant if the software designer/ developer has already run a test case.
Ever wondered why a soothsayer closes the eyes when foretelling events? So is almost the case in Black Box Testing.

Click to know about White box testing and Gray box testing and Differences between Black Box and White Box Testing and Compare Quality-Assurance, Quality-Control, Testing

Tuesday, 26 March 2013

Software Testing Types

What are the different types of Testing ? Explain.

Listed below are the most common types of software testing. Lets discuss about each in the following section:
  1. Adhoc Testing 
  2. Exploratory Testing 
  3. Exhaustive Testing 
  4. Sanity Testing 
  5. Smoke Testing 
  6. Soak Testing 
  7. Regression Testing 
  8. Retesting 
  9. Performance Testing 
  10. Stress Testing 
  11. Load Testing 
  12. Compatibility Testing 
  13. Alpha Testing 
  14. Beta Testing 
  15. Acceptance Testing 
  16. Static Testing 
  17. Dynamic testing 
  18. i18n / Internationalization 
  19. L10N / Localization

Tuesday, 5 March 2013

Gray-Box Testing Definition, Example

What is Grey / Gray box testing ?

Definition :
Gray Box Testing is a software testing method which is a combination of Black Box Testing method and White Box Testing method. In Black Box Testing, the internal structure of the item being tested is unknown to the tester and in White Box Testing the internal structure in known. In Gray Box Testing, the internal structure is partially known. This involves having access to internal data structures and algorithms for purposes of designing the test cases, but testing at the user, or black-box level.

Gray Box Testing is named so because the software program, in the eyes of the tester is like a gray/semi-transparent box; inside which one can partially see.

What is Grey/Gray box testing ?

White-Box Testing Definition, Example, Application, Advantages, Disadvantages

What is White box Testing ?

Definition :
White Box Testing (also known as Clear Box Testing, Open Box Testing, Glass Box Testing, Transparent Box Testing, Code-Based Testing or Structural Testing) is a software testing method in which the internal structure/design/implementation of the item being tested is known to the tester.

The tester chooses inputs to exercise paths through the code and determines the appropriate outputs. Programming know-how and the implementation knowledge is essential. White box testing is testing beyond the user interface and into the nitty-gritty of a system.

white-box-testing