AddThis

Bookmark and Share

Sunday, August 8, 2010

Startup testing part 1


I am starting here my new sharing “Startup testing part 1” for those who likes to start career of software testing. This will give a basic idea about testing and glimpse of it.

Definition:

  • Testing is a process of evaluating a system by manual or automation means and verifies that it satisfies specified requirements or identifies difference between expected and actual result.
  • Quality provides customer satisfaction for the first time and every time. It is the factor affecting an organizations long term performance and improves productivity and competitiveness.

Why Testing?

  • Software testing is important as it may cause mission failure, impact on operational performance and reliability if not done properly.
  • Deliver quality software products; satisfy user requirements, needs and expectation.
  • Uncover defects before the products install in production, it can save a huge loss.

Participants in Testing:

  • Software Customer
  • Software User
  • Software Developer
  • Tester
  • Information Service Management
  • Senior Organization Management

Some Recent Major Computer System Failures Caused by Software Bugs:

  • According to news reports in April’04 software bug was determined to be a major contribution to the 2003 Northeast blackout, the worst power system failure in North American history. The failure involved loss of electrical power to 50 million customers, forced shutdown of 100 power plants, and economic losses estimated at $6 billion. The bug was reportedly in one utility company’s vendor supplied power monitoring and management systems, which was unable to correctly handle and report on an unusual confluence of initially localized events. The error was found and corrected after examining million of lines of code.

  • In India September ’04 Aircel Cell Company got a defect in their prepaid subscriber billing system. Result nearly one month we got all free outgoing. They found the defects earlier but correcting the defects itself it took long time. I don’t have the exact official estimation of loss. But I made all ISD call nearly 100 hours free of cost.

  • A software bugs in a Soviet early warning monitoring system nearly brought on nuclear war in 1983, according to news reports in early 1999. The software was supposed to filter out false missile detections caused by Soviet Satellites picking up sunlight reflections off cloud tops, but failed to do so. Disaster was averted when a Soviet commander, based on what he said was a’...funny feeling in my gut’, decided the apparent missile attack was a false alarm. The filtering software was rewritten.  

Software Development Life Cycle:


  • Requirement- SRS (Software Requirement Specification)
                             SRAS (Software Requirement & Analysis Specification)
                             FS (Functional Specification)
  • Design- HLD (High Level Design)
                    LLD (Low Level Design)
  • Coding- According to code format
  • Testing
  • Implementation
  • Maintenance

Testing Economic & Cost:

Traditional Test
Continuous Test
Accumulated Test Cost
Accumulated Error Remaining
Development Cycle
Accumulated Test Cost
Accumulated Error Remaining
0
20
Requirement
10
$10
0
40
Design
15
$25
0
60
Code
18
$42
$480
12
Testing
4
$182
$1690
0
Production
0
$582

Testing:
Static (Review)
Dynamic (Execution)

Static:
       Only review not execution of the program

Dynamic:
Structural (logic, white box testing, developer)
Functional (no logic, black box testing, tester)

What is Test Plan?

·        Road map for the entire testing activity

What are Test Cases?


·        Set of procedures which we execute in our system to find defects

Primary Role of Software Testing:

·        Determine whether the system meets specification (Producer View)
·        Determine whether the system meets business and user needs (Customer View)

Role of Tester:

    • Find defect not correcting the defects

What is Defects?
    • A defect is a variance from a desired product attributes
    • Variance from customer/user expectation

Classification of Defects:
  • Wrong (ER! = AR)
  • Missing (Missing some point)
  • Extra (Extra point)

Regression Test:

Tester-> 1000-test cases-> 100 defects-> developer-> tester

Functional Testing:

  • Structure of the program is not considered
  • Test cases are decided base on the requirements or specification of the program or module
  • Hence it is called “Black Box” testing

Structural Testing:

  • Concerned with testing the implementation of the program
  • Focus on the internal structure of the program
  • The intention of structural testing is not to be exercise all the different I/P or O/P condition but to exercise the different programming structure and the data structure of the program

Testing Levels:
  • Unit Testing
  • Integration Testing
  • System Testing &
  • Application Under Test (AUT) or
User Acceptance Test (UAT)

Unit Testing:

  • LLD
  • Module Testing
  • Individually Testing
  • White Box Testing
  • Developer job

    1. Test each module individually
    2. Follow White Box Testing (logic of the program)

Integration Testing:

      • LLD+ HLD (Developer+ Tester)
      • Communication+ Data Flow
      • WB+ BB= Gray Box
      • Integrate two or more module i.e. Communicate between modules
      • Follow a White Box Testing (testing the codes)

System Testing:

  • Confirms that the system as a whole delivers the functionality originally required.
  • Follow Black Box Testing
  • Functionality Testing, Tester job

User Acceptance Testing:

  • Building the confidence of the client and users is the role of the acceptance testing phase
  • It is depend on the business scenario
  • Red Box Testing (crucial)

Sunday, August 1, 2010

Test Estimation tools using FP-UCP.

I am sharing with you my “Test Estimation Tools” that I have worked for several weeks. Though initially it will be time consuming to understand; once we will implement; it will be quite easier to estimate the testing time.

There are variables always for all the estimation tools we have e.g. Project hour estimation using Function Point or Use Case Point. I am sharing this big effort to all because if I have it within myself that will be less useful than sharing through the blogs and later this might be get popularity for the effectiveness of it.

If you have any question on “Test Estimation Tools” let me know; I will try to answer as easy way as possible. Here is the link to download: http://bd.linkedin.com/in/shaiful you will find it in my BOX.net file: Test Estimation using FP-UCP.xls

If you unable to download from above profile please check out here: http://bit.ly/dj2ScB

You can estimate your testing time using both Function Point and Use Case Point.

I know there will be so many questions, e.g. it’s not worthiest or difficult to understand. Anyway, have a look and let me know how it is? Please share for this in my blog and you can put comments.


Thanks.

We can careful while testing the system (checklist)

1. Every Field should be tested
2. All integers
3. Mix regular text, numeric and special characters
4. All special characters
5. Put spaces
6. Leave it blank
7. Test Numeric fields with Negative Numbers and Positive Numbers both (-99,+99), terminal values (/,:),
8. Enter a digit, then press before continuing
9. Fill up the controls typing all character value (a-A, b-B, c-C,---------), numeric value(0,1,2,------), alpha numeric value(a3bc2----), type all special character ( *, &, <,>,?,/,@,$,%,^,(), ’,”,!,~,------)
10. Serve Maximum values in all fields
11. Do Wrong / Negative Input (Check that the application responds as expected)
12. Do Right / Positive Input (Check that the application responds to illegal input and unexpected transactions)
13. Database value should be tested
14. Every Interface should be tested
16. Sequential Order of Buttons should be checked
17. Check All Buttons of each Interface (Size, Position, Color, Caption)
18. Check the Result Carefully (Inserting Same Data, Different Data)
19. Maintains the Standard Layout through the Whole Project (e.g. Color Management, Size of Controls, Size of Screen, Position of Buttons)
20. Check the output (Reports) Carefully (Expected Result : Actual Result)
21. Check all Lists View / Tree View ( Click the List view while it is empty)
22. Check all Option Buttons
23. Check all Check Boxes
24. Check all Cells of Grid
25. Check Tab Order
26. Check Menu Items (Clicking on the Items)
27. Check the Sequence of Data
28. Check all Standards (Naming Convention, Layout Convention)
29. Check all Messages (Same Messages should be displayed for the same purpose)
30. Check the value after Add/Modify/Delete main form to other related form for integration
31. Check Required / Not Required /Validation
32. Check Date Format
33. Check Clear action initialize Displayed Data (like Date/Month will be Current System Date/Month)