Chapter 1

Please register and post your comments

What is Software Testing

Software Testing is the process with the intention to find errors/bugs to analyze the actual results with expected results to minimize the risk of product failure.

Why Software Testing

Most people have had an experience with software that did not work as expected. Software that does not work correctly can lead to many problems, including loss of money, time or business reputation, and could even cause injury or death.

For example, let’s take a Banking application. Consider you have invested Rs. 50000 in your account. When you login to the net banking, if the system shows you have Rs. 60000 in your account, it will leads to big loss of money or business reputation for the Bank.

Software Defects

A human being can make an error, which produces a defect in the program. If the defect in code is executed, the system may fail to do what it should do, causing a failure.

Consider the following code which calculates the PF of an employee by multiplying 12% with Basic.

Provident_Fund = Basic_Salary / 12%;

In the above step, instead of multiplying the salary by 12%, salary was divided by 12%. By mistake, the person who coded the above lines has made an error, which produces a defect in the program. If this program is executed, the system will cause a failure.

Software Development Life Cycle (SDLC)

Software Development Life Cycle contains 6 Phases:

•     Gathering Software Requirement
•     Software Design and Analysis
•     Coding
•     Testing
•     Implementation
•     Maintenance

Role of Quality Assurance Team in SDLC

•     In First Phase, SRS (Software Requirement Specification) document will be validated.

•     In Second Phase, Analyze and Design document created by design team will be Tested.

•     In Third Phase, coding done by Software Developer will be checked for all the path are covered are not. Also, coding should be done in such a way that new changes should made easily, and application should be user friendly.

•     In Fourth Phase, actual testing (Unit , Integration, System, UAT) will be carried out.

•     In Fifth Phase, cross platform testing will be carried out. Application will be tested in different operation systems and web browsers.

•     In Sixth Phase, Configuration Management will be done. (More about Configuration Management will be covered in later chapters).

Role of Software Tester

•     Analyzing the Requirement from the Client.
•     Participating in preparing Test Plan.
•     Preparing Test Scenarios.
•     Preparing Test Cases for module, Integration and System testing.
•     Preparing Test Data for test cases.
•     Preparing Test Environment to execute the Test Cases.
•     Analyzing the Test Cases prepared by other Team members.
•     Executing the Test Cases.
•     Defect Tracking.
•     Giving mandatory information of a defect to developer in order to fix it.
•     Preparing Test Summery Reports.
•     Preparing suggestion document to improve the quality of the application from the previous project testing experience.
•     Communicating with the Test Lead/Test Manager.
•     Conducting Review Meetings with the Team.

Quality Assurance and Quality Tester

Actually Tester will be only involved in testing phase of SDLC, the remaining phases will be handled by Quality Assurance (QA), it’s their responsibility to monitor and improve the processes which are being used to develop a quality product, i.e., Quality Assurance team will involved in entire SDLC whereas Testing Team will only involved in Testing Phase.

Simply saying:

•     TESTING means “Quality Control”; and
•     QUALITY CONTROL measures the quality of a product; while
•     QUALITY ASSURANCE measures the quality of processes used to create a quality product.

Verification and Validation

Verification means testing the specific function in that phase. Verification will be conducted by QA team. It will be performed in each and every stage of SDLC.

Validation means to ensure the software that satisfied Customer’s requirement. Validation will be conducted by development team with the help from QA team.

For Example:

You need to buy some products from the market. So you write all the products in a paper and check that everything has been written is called VERIFICATION.

After returning from market once again you check the list and compare the products that u brought from the market to see if anything is missing this is called VALIDATION.

Testing and Quality

With the help of testing, it is possible to measure the quality of software in terms of defects found, for both functional and non-functional software requirements.  A properly designed test that passes reduce the overall risk in a system.  When testing does find defects, the quality of software system increases when those defects are fixed.

When to Stop Testing

Deciding how much testing is enough should take account on the level of risk, including technical, safety and business risks, and project constraints such as time and budget.

Please register and post your comments...Your valuable feedback will help us serve you better!

No comments:

Post a Comment