Friday, May 16, 2008
SDLC
about the Difference between an "Error," "Bug" and "Defect" and "SDLC."
Error: The Developers identified the Errors.
Ex: Syntax Error, Logical Error, Runtime Error,...
Bug: Normally identified by the Tester. A deviation from the Expected result and the Actual
result.
Defect: Normally identified by the Client/Customer. An imperfection in the Product/Project.
Generally, Due to a human action("Error"), Bug was created. Due to the "Bug" the Product/Project
becomes "Defect". Due to this Defect, the Product/Project becomes "Failure/Fault".
What you mean by "Quality?"
Meeting the Clients/Customers requirements for First time and for every time. After the testing
part is completed, then only we can know the "Quality" of the Product/Project.
Now i'm going to say about "SDLC"(Software Development Life Cycle).
Before going to explain about this topic, i would like to say the example for this, so that u can
easily understand the topic. The best example for SDLC is "Butterfly Life Cycle". Everyone knows this life cycle, how the butterfly was grown from the egg to a beautiful butterfly. The
same concept is using in the SDLC also.
SDLC explains how the Product/Project is developed from Inspection through Completion. It has
Five Stages.
1. Requirement & Analysis.
2. Design/Architecture.
3. Coding/Developing.
4. Testing.
5. Delivery.
This is the Five main stages used in SDLC.
1. Requirement & Analysis:
Requirement: Collecting the ideas from the Client/Customer's as an input into a formal set of
documents.
Analysis: Analyzing the Clients/Customers system environment, so that the application will be
developed according to that system environment where the application should run successfully
without any failure.
2. Design/Architecture:
The Designer/Architecture will design the "Outlook" of the application. The output of this
stage is called "FDS"(Functional Design Specification) or "SRS"(System Requirement Specification).
This document contains the snapshots of the application and the fields details. This document will
be given to both Coding team and to the Testing team.
Ex: Fields means if the application is for an EMP records then the fields are Emp name,
textbox size, Designation like that the fields details will be given in the FDS or SRS.
3. Coding/Developing:
Using the FDS or SRS, the developer will develop the application. Once the coding part is
completed, the module or build will be "Unit Tested" and it will be move onto the Testing team.
4. Testing:
Once the FDS or SRS is completed, the Test Lead will prepare the Test Plan. The Test Engineer
start designing the Test Cases using the FDS or SRS. Once the Module or Build reaches the Testing
team, the Test Engineer starts to test the Module or the Build according to the Test Cases.
Once the Testing part is completed, the application will be moved onto the delivery section.
5. Delivery:
After the Testing part is completed successfully, the application will be delivered to the
Client/Customer.
Monday, May 12, 2008
Introduction to Testing
Introduction to Software Testing:
Hai Friends,
I welcome you all to this Subject. Today i'm going to say about "What is Software Testing."Just forget the word Software, First we see "what is Testing."
Imagine in our daily life, if we are going to buy a pen, just think what are all the commonthings we will decided first before we buy a pen. First we will decide the color of the ink, the model,the style, the size and offcourse the brand. Once we get the pen which satisfies all our need then we will start to test it. First we tests it how its writes, next we checks whether theink in the refill is filled fully like that we will check all those things.
While coming to Software Testing, we will have some "Rules and Regulations" to test the softwareThe concept of Testing the Software is same as the concept of Testing the pen, but the way of testing the Software is quite similar and more advanced.
Before seeing the definition of Software Testing, first imagine the way of testing the pen,
1. Security: means whether the cap covers the nib fully and it gives security for the shirt from the ink. 2. Completeness: means whether the ink in the refill is filled fully.. 3. Quality: means whether the pen writes smoothly and the ink is fluids properly..
The same thing will be used in testing the software also. Let's see the First definition,
Def1: Software testing is process of executing a program with the intent of finding an error. Ex: We are testing the pen, whether it writes properly or not. If it is not writing properly then the has some error.
Def2: Software Testing is a process used to identify the Completeness, Correctness, Security and Quality of the developed Software. Ex: We are testing the Pen, whether the cap covers completely, correctly and it provides the security for the shirt from the ink.
Def3: Software Testing is a process used to check whether the Software is, works as per the clients requirements. Ex: Before the Pen is come to the market, already the sales pupil will conduct the survey in the market and according to that survey only the pen will be developed and once the pen is developed the organization will checks the pen wether it is developed according to the survey result.
This is the 3 main and common definition for the Software Testing.
Normally Testing will be conducting on Two main things.
1. Product: Ex; Readymade Shirt. 2. Project: Ex; Stretching a Shirt for a particular requirement.
If anybody asks you the different between a Product and a Project, just say this example.
Reasons why we go for Testing:
1. To get adequate trust and confidence on the Software.2. Challenging to release a Bug Free Product/Project.3. Clients/Customer should not find any Bugs.4. Cost of Debugging is very high after the Software is released.5. An application can perform 1lakhs Correct Operations and it has the same ability to perform 1lakhs Wrong Operations if it is not Tested properly.6. Ensuring that the Software is ready to use.7. Knowing the limits of the Software.
This is all the common reasons for Testing the Software.
It is not necessary to read everything in one particular day. Its enough to read a single definition per day. However the thing is, you should understand the meaning properly, clearly,correctly and exactly.