Tuesday, 4 June 2013

Test Case in Software Testing .



WHAT IS TEST CASE?





A test case has components that describes an input, action or event and an expected response, to determine if a feature of an application is working correctly.”
A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly.

Why do we write test cases?
The basic objective of writing test cases is to validate the testing coverage of the application. If you are working in any CMMi company then you will strictly follow test cases standards. So writing test cases brings some sort of standardization and minimizes the ad-hoc approach in testing.
Writing effective test cases is a skill and that can be achieved by some experience and in-depth study of the application on which test cases are being written.

There are levels in which each test case will fall in order to avoid duplication efforts. 
Level 1:In this level you will write the basic test cases from the available specification and user documentation.

Level 2:This is the practical stage in which writing test cases depend on actual functional and system flow of the application.

Level 3:This is the stage in which you will group some test cases and write a test procedure. Test procedure is nothing but a group of small test cases maximum of 10.

Level 4:Automation of the project.This will minimize human interaction with system and thus QA can focus on current updated functionalities to test rather than remaining busy with regression testing.

Fields in test cases:
Test case id Input
Expected output
Actual output
pass/Fail

Well written test cases can make the testing cycle smooth and efficient. A good test case is easy to determine if a feature of an application is working correctly.

Post by :- Madhavi.

Published by :- Pardha Saradhi

Importance of Testing...


Before going into testing let us know the simple meaning of testing-
   In simple, “testing is the process of checking if the build software satisfies all the requirements  and if it is maintaining the standard quality”.

    In early years testing was not given any value. It was thought as a waste of time activity. As days passed and when people saw their software as failures, then they started testing as one of the main part of software development life cycle. Even today it is sad to see some developers and other people thinking testing as a low valued job. Despite of so much exposure given to importance of testing, still there are people who have narrow thoughts about testing.
    
 Now, let us see why software testing is importing. Testing is important to

1.  Reduce loss of money
                       Because of failures organizations  have to loose so much money either as penalty to clients and legal requirements or to reconstruct the software.

2.   Reduce loss of time
              If a failure occurs then there will be time loss for fixing the failures and other things.                                                                                                  

3.    Reduce damage to business reputation
             If organizations produce failure products then their customers loose faith in them and reputation of the organizations falls down.
4.    Reduce injuries and deaths
            There are software's that are used in hospitals ,flight automation etc., Failure in such software causes deaths and injuries. Testing is very important in such cases.


     Software testing is an important phase of software development life cycle. It represents the ultimate review of specification design and coding. The main objective for test case design is to derive a set of tests that can find out errors in the software. A thoroughly tested software maintains quality. A quality product is what everyone wants and appreciates.
  
   Testing also provides objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of software.

Post by :- Pujitha

About Testing !!!

                                                 

   
                                   

TESTER:

A Skilled professional who is involved in the testing of a system (or) component.
 This is the only role to see the mistakes in optimistic way.

SKILL Set for a Tester :-  

People involved in testing need  basic professional and social qualification such as
literacy,the ability to prepare and deliver written and verbal reports,the ability to prepare 
and verbal reports,the ability to communicate effectively.
 The level of skill required vary by project ,organisation,application and the risks
involved.

According to ISTQB certification, Testing is defined  as  "The process consisting of a life cycle activities,both static and dynamic concerned with planning preparation and evaluation of  software products and related work  products to determine that they satisfy specific requirements to demonstrate that they fix for  purpose and to detect the defects .
To know about testing ,we refer static ,dynamic testing and measuring quality.

TESTING PRINCIPLE:

As early as  possible testing must be done after we take requirments and focus on
finding defects.

Mainly there are seven testing principles,

1. testing  tells presence of defects.
2.defects occur in cluster.
3.pesticide paradox 
4.exhaustive testing is not possible.
5.early testing
6.testing is context dependent
7.absence of errors fallacy .

Post by :- Anusha 





Monday, 3 June 2013

RISK ANALYSIS OF SOFTWARE TESTING



Risk Analysis is very essential for software testing. In software testing, risk analysis is the process of identifying risks in applications and prioritizing them to test. A risk is a potential for loss or damage to an organization from materialized threats. A threat as we have seen is a possible damaging event. If it occurs, it exploits vulnerability in the security of a computer based system.
Items with higher risk values should be tested early and often. Items with lower risk value can be tested later, or not at all. It can also be used with defects.


HOW TO PERFORM A RISK ANALYSIS IN SOFTWARE TESTING: 

Consideration along with the possibility of their occurrence and the damage they may cause along with solutions; if any. Detailed study of this is called Risk Analysis. 
                    
·  New Hardware.
·  New Technology.
·  New Automation Tool.
·  Sequence of code delivery.
·  Availability of application test resources.

Three perspectives of Risk Assessment
  • Effect.
  • Cause.
  • Likelihood.

Effect - To assess risk by Effect, identify a condition, event or action and try to determine its impact. 
Cause - To asses risk by Cause is opposite of by Effect. Begin by stating an undesirable event or condition and identify the set of events that could have permitted the condition to exist. 
Likelihood -
 
To asses risk by Likelihood is to determine the probability that a requirement will not be satisfied.

Risk Assessment:

Risk assessment may be the most important step in the risk management process, and may also be the most difficult and prone to error. Once risks have been identified and assessed, the steps to properly deal with them are much more programmatically.


Risk Management:

Risk management is a structured approach to managing uncertainty through, risk assessment, developing strategies to manage it, and mitigation of risk using managerial resources. The strategies include transferring the risk to another party, avoiding the risk, reducing the negative effect of the risk, and accepting some or all of the consequences of a particular risk.

Post by :- Yogitha Bala

Published by :- Pardha Saradhi

Terminology that a Tester should be aware of!!




Error – Fault— Failure        


Testers are those who improves the quality of the product and they see that most of the bugs are solved, before the product is shipped.
The common terms that the IT people use when they find the defect in the code.  Error, Fault, and failure.Though the terms are synonyms, they differ in their functionality when it come in terms of IT sector.
Let us take an example.

Temperature=temperature + 10;
If( Temprature>100) printf(“Critical Temp”);
Else printf(“Normal temp”);

In the above example, 
i) This code is basically written by developers, the fault that is been found is spelling of Temperature.
And the condition shows “critical temp” only when temprature>100( as per code) and not Temperature>100. So, such type of faults which occur at the initial stages of coding are called as                               “ERROR”.

ii) Now,   the second phase is testing .  When the simulation is done on the above program, the simulation goes fine but the actual error isn’t noticed. Hence here the defect  is called asFAULT”.

iii) And then, if the code is been shipped and it’s under execution, the system runs fine unless the condition is not met. If the temperature really exceeds value 100, then a message should be shown as “critical temp”. But in this case due to that defect, the error message is not shown. Hence the system gets failed.
This defect which is found at the time of execution is called as FAILURE”.
Being a software Test engineers, one has to make sure that the “terminology” has to be followed, to become a good test Engineer.


Post by :- Pardha Saradhi Boddupalli

Published by :- Pardha Saradhi