Showing posts with label software testing. Show all posts
Showing posts with label software testing. Show all posts

Wednesday, 14 May 2014

sample testing cycle

A sample testing cycle

Although variations exist between organizations, there's a typical cycle for testing. The sample below is common among organizations using the body of water development model. A similar practices ar unremarkably found in different development models, however won't be as clear or specific.
 Necessities analysis:
Testing ought to begin within the necessities part of the software system development life cycle. Throughout the look part, testers work to see what aspects of a style ar testable and with what parameters those tests work.
Check planning:
Check strategy, test plan, test bed creation. Since several activities are going to be administrated throughout testing, an inspiration is required.
Check development: check procedures, check situations, test cases, check data sets, check scripts to use in testing software system.
Check execution:
Testers execute the software system supported the plans and check documents then report any errors found to the event team.
Check reporting:
Once testing is completed, checkers generate metrics and build final reports on their test effort and whether or not or not the software system tested is prepared for unharness.
Check result analysis:
Or Defect Analysis, is finished by the event team typically in conjunction with the consumer, so as to come to a decision what defects ought to be assigned , fixed, rejected (i.e. found software system operating properly) or postponed to be addressed later.
 Defect Retesting:
Once a defect has been addressed by the event team, it's retested by the testing team. AKA Resolution testing.
Regression checking:
it's common to possess a little test program engineered of a set of tests, for every integration of latest, modified, or mounted software system, so as to make sure that the newest delivery has not ruined something, which the wares as an entire remains operating properly.
Check Closure:
 Once the check meets the exit criteria, the activities like capturing the key outputs, lessons learned, results, logs, documents associated with the project ar archived and used as a reference for future comes.

Saturday, 13 July 2013

Software test tools

Software test tools

Program testing and fault detection can aid significantly by testing tools and debuggers.

Testing /debugging tools include following feature  

Beta testing

Beta testing

Beta testing comes after alpha testing and considered a form of external user acceptance testing. Version of the software after testing is known as beta version, are released to limit audience outside of the programming team.

The software is released to some groups of people so that testing can ensure that there are few bugs or faults in the software product. 

Alpha testing

Alpha testing

Alpha testing is simulates or actual operational testing by user/customer or an independent test team at the developer’s site.

Alpha testing is frequently employed for off the shelf software as a form of internal acceptance testing before the software goes to beta testing.

Other types of testing are

Smoke testing

Smoke testing

Smoke testing determines either there are significant problems with a piece of software during testing procedure for example as a build verification test.

Sanity testing determines either it is fair and sensible to proceed with further testing.

Other types of testing are

Performance testing

Performance testing

Performance testing is generally executed to determine how system performs in term of responsiveness and stability under a particular workload. It also serves to measure, validate or verify quality attributes of system such as reliability and resources usage.

Load testing is primarily concerned with testing that the system can continue to operate under a specific load, whether that it may be large quantities of date or there are large numbers of users. 
  
This is generally referred to as software scalability. The similar load testing activity when performed as a non functional activity is often referred to as endurance testing.

Regression testing

Regression testing

Regression testing focuses on finding defects after a major code change has occurred. Its specifically seeks to uncover software regressions or old bugs that have come back. 
These regressions happened whenever software functionality that was previously working correctly stops working as intended.

Regression occurs as an unintended consequence of program changes, when the newly developed part of the software collides with the previously existing code.

Automation testing

Automation testing

Lots of programming groups are dependent on more and more on automation testing, especially groups that use test driven development.

There are lots of frameworks to write tests in and continuous integration software will run tests automatically every time code is checked into version control system.
 
Automation cannot reproduce everything that human can do.

Types of testing

Types of testing

There are many types of testing. The types of testing are as follows

  1. Regression testing
  2. Smoke testing
  3. Performance testing
  4. Alpha testing
  5. Beta testing
  6. automation testing

Acceptance testing

Acceptance testing

In this stage of testing the system is delivered to the user for acceptance testing.

Other levels of testing are

System testing

System testing

System testing tests a complete integrated system to verify that the system meets its requirement. Software testing should ensure that the program as well as working as expected. 

Software testing should also ensure that the program does not destroy or partially corrupt its operating environment or cause other process within that environment to become inoperative
.
This comprise not corrupting shared memory storage, not consuming or locking up excessive resources and leaving any parallel processes unharmed by its presence.

Other levels of testing are

Integration testing

Integration testing

Integration testing is type of software testing that seeks to verify the interfaces between components against a software design.
Software components will be combined in an iterative way or all together which is also called as “big bang”.

Integration testing works to uncover faults in the interface and interaction between integrated components or modules of software.

Larger number of groups of tested software components corresponding to elements of the architectural design are integrated and tested until the software works as system.

Other levels of testing are

Unit testing

Unit testing

Unit testing is also known as component testing, refers to test that verify the functionality of a specific portion of code at the function level. In an object oriented environment the minimal unit tests include the constructors and destructive.

Unit tests are written by developers as they work on code, to ensure that specific function is working as expected.

One function may have many tests to catch branches of the code. Unit testing cannot alone verify the functionality of software, but it is used to ensure the building blocks of software work independently of each other.

Testing levels

Testing levels

Testing is a set of activities that can be planned in advanced and conducted according to a fix plan. For this cause a template for software testing a set of steps into which you can place specific test case design techniques and testing methods should be defined for the software process.

Software testing can be stated as the process of validating and verifying a computer program. Software testing depending on testing method employed.

Grey box testing

Grey box testing

Grey box testing include knowledge of internal data structure and algorithms for purposes of designing tests while executing those tests at the user or black box level.
The tester is not requires to have full source code access during testing.

Black box testing

Black box testing

Black box testing treats the software as black box. The functionality examined without any knowledge of internal implementation. The software tester is only aware of what the software is supposed to do, not how it does it.




There are following methods of Black box testing:            

White box testing | testing

White box testing

White box testing, also refereed as clear box, glass box testing  or structural testing.
White box testing tests internal structure or working of a program, as opposed to the functionality expose to the product user. In white box testing internal view of system, as well as programming expertise's are used to design test cases.
The tester chose input to exercise paths through the code and determine output

White box testing can be applied at the unit, integration and system level of software testing process. Through methods of test design many errors and problems are uncovered.

Techniques of white box testing include:

Box approach

Box approach

Software testing methods are divided into three sub branches.  

  1. White box testing  
  2. Black box testing
  3.  Grey box testing

These 3 approaches are used to explain the meaning that a test engineer takes when designing test cases.

Static vs. dynamic testing

Static vs. dynamic testing

Software testing is an investing conducted provides stockholders with information about the quality of product or service under test. 
Software testing can also provide an objective, view of the software to allow the business to appreciate and understand the risk of software implantation. Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs.

There are large number of approaches of software testing.

What is Software testing | software testing

Software testing

Software testing is an investing conducted provides stockholders with information about the quality of product or service under test. 
Software testing can also provide an objective, view of the software to allow the business to appreciate and understand the risk of software implantation. Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs.

Software testing can be stated as the process of validating and verifying a computer program. Software testing depending on testing procedure employed......