Tuesday, December 21, 2010

Main phases in Testing

1. Unit Testing
2. Integration Testing
3. System Testing or Black box testing
4. User Acceptance Testing (UAT)
 
Unit Testing
This testing is done by the developer. The developer tests the module after developing it. Each or single module is tested by the developer and hence called unit testing.

Integration Testing
After unit testing the modules are integrated and the next step is Integration testing.  general the Integration Testing is done by developer but in some companies the Integration testing is performed by testers also. The units are integrated together and tested. The interface between the module is also tested.



Sunday, December 5, 2010

SYSTEM TESTING TECHNIQUES USED

V Model

Software Testing Rules

1. Test early and test often.

2. Integrate the application development and testing life cycles for better results.

3. Formalize a testing methodology, to test everything the to get uniform results.

4. Develop a comprehensive test plan; it forms the basis for the testing methodology.

5. Use both static and dynamic testing.

6. Define your expected results.

7. Understand the business reason behind the application to write a better application and better testing scripts.

8. Use multiple levels and types of testing (Retesting, Regression, System, Integration, Stress and Load.)

9. Review and inspect the work, it will lower costs.

10. Don't let your programmers check their own work; they will miss their own errors.

Friday, December 3, 2010

Testing and QA

Testing means verification and validation of an Application or Product
Definition: Testing is the process of identifying defects, where a defect is any variance between actual and expected results.

TESTING means "quality control"
 QUALITY CONTROL
 Quality Control measures the quality of a product

 QUALITY ASSURANCE 
 Quality Assurance measures the quality of processes used to create a quality product.

Verification- whether system is right or wrong
Validation - whether system is right system or not

Testing ensures that the product manufactured is according to the specification, working perfectly and satisfying the client.

Application: Preparing according to the customer requirements is called application.
Application means customer choice, for applications alpha testing is done
E.g. Go to a hotel and order for item of your choice and that is made after you place an order.

Product: Preparing a product according to the market needs is called a product.
For products beta testing is done
E.g. Go sweet shop and buy sweets of your choice.
Risk associated is very high for a product.

Testing ensures a
  1. Error superior product/application
  2. Quality assurance to the client in terms of functionality, usability, performance and security
  3. Competitive edge – Time to market
  4. Cost cut down, economic feasibility

Tuesday, November 23, 2010

History of Testing

History of testing
In the present  day  world  testing  plays a significant role  especially  in  software industry. There are various  stages in software development namely analysis, design, coding and testing. Testing attains its significance due to customer satisfaction and this in turn reflects on company reputation.

To err is too human and to prevent this error in our product /project, testing is very much vital. “Prevention is better than cure.” To prevent the customer to find out many more bugs in our code it is better to test the software by a separate team and hence release to the customer.

Testing came into limelight in the mid of 60’s .IBM company spent lot of resources and time on product installation by sending man power for implementation of systems yet encountered problems in terms of maintenance. Before the release of IBM-360 to its customers it decided to test the product in all aspects.

A meeting was held to decide who should lead the team, then a name was anonymously selected and the name was Mr.Glengard.J.Myres. This person had a set of specific characteristics in him .He came down to office in informal wear when there was a restriction of formal dress code in the company, differently oriented in thinking, rumors that played hex phone after office hours and soon. Myres agreed to lead the testing team if he was given freedom to select people of his choice .The first test manger in software testing. Began to train the team and came forward with some set of principles.

1.      Software testing is creative and challenging task.
2.      No one should test his or her programs.
3.      There are some parts in programs, which have a more scope of error than others.
4.      There must be a difference in the psychology of testers and developers.


Software testing is creative and challenging task
The intent of looking at a program to find error is testing. “If you don’t find errors, your customers will find many errors.” Creative means tracking out the maximum extend of ruling out an error by exhibiting a difference in your way to tackle the execution of code with a purpose to find error in the application, which is “not yet discovered”. Challenge lies to trace out the hidden error before the release of the application.

No one should test his or her programs
Programming is nothing but logic implementation of design in a specified language on a specific platform .It is quite natural that one can not easily spot out the mistakes made   by himself .To err is human but to find an error in it quite difficult .A third party team should be there to do testing and this team should know the functionality of the application.

There are some parts in programs, which have a more scope of error than others
Usually programming is classified into modules and the functionality modules are main modules in programs, apart from input domain, error handling, user interface and soon. The program is almost successful if its basic functionally is executing properly and this is crucial part of programming and perhaps the difficult part also. Scope of error is high in this part. If this part is properly tackled there is a high possibility of eliminating error hence more effort has to be spent on this part.

Difference of psychology between developer and tester
Developers thinking is in a constructive way to develop better logic reduce complexity in terms of time and memory. Tester’s orientation is creative criticism tracking out all odd and negative possibility where there could be a chance of error. This destructive nature can be termed as constructive criticism for the improvement of quality of the application.