Net Application Testing by sofiaie


									.Net Application Testing


         Sam Nasr
      August 24, 2004
           Types Of Testing

   Functionality Testing
    1.   Unit
    2.   System Integration
    3.   Regression
    4.   Performance
    5.   Customer Acceptance

   Security Testing
                Why Test?

   credibility, credibility, credibility

   For every 1,000 lines of code, 8 bugs
    go undetected.

   Improve customer relations.
                Why Test?

   Phase            Cost of Error Removal
   Definition                $1
High Level Design            $2
Low Level Design             $5
      Code                   $10
    Unit Test                $15
Integration Test             $22
  System Test                $50
  Post-Delivery             $100+
        Black Box Testing

   The concept of testing where the
    tester knows nothing about the
    process being tested.
             Unit Testing

   Performed by the developer, prior to
    delivering code to testers.

   Using unit test cases targeting the
    new code.
         System Integration
   Used to determine how well code
    interfaces with other code in a given

   Performed by testers, after unit
       Regression Testing

   Ensuring new code didn’t break
    existing functionality.

   Performed by testers, after unit
      Performance Testing

   Testing for adequate reponse time
    under heavy traffic.

   All system limitations must be defined.

   Performed by testers, after unit
     Customer Acceptance
   Performed as a formal turnover to a

   Can also be considered as post-
    implementation testing.
            Security Testing
   Ensuring data cannot be maliciously manipulated.

   Ensuring user cannot bypass critical sections of the

   Test for parameter checking with browser JAVA Script
    enabled AND disabled.

   Test for safeguards against hacker attacks (i.e. SQL
    Injection, XSS, One-Click, etc.)

   Utilize services such as
        Creating Test Plans
   Use Functional Requirements as a guide.

   Test for all types of data: numeric, alpha,
    and alpha-numeric

   Test for all ranges: 0-9, negative, decimals,

   If using date/time stamp, test for mid-
    night/time-zone cross over.

   Take nothing for granted!
    Testing Environment
Testing Environment should be identical to
the production environment in every way.

   – Hardware (memory, CPU(s), etc.); CPUs are
     especially important when testing a threaded

   – Software (OS, SPs, drivers, IE/IIS versions).

   – Application (copy of production DB, data files,
               Testing Tips
   Define Testing turnover procedures
    (turnover schedule, file structure, registry
    layout, etc.)

   Define parties responsibe for approving
    different types of testing.

   Test for memory cleanup when process is
    completed or aborted.
                Testing Tips

   Always test processes after implemented in
    production to ensure all files and settings are
    implemented correctly.

   Create dummy data that will test the process end-
    end, but not interfere with production data.

   Identify invalid part numbers, invoice numbers, etc
    and use them for testing.
              Testing Tips

   Are error messages meaningful to a
    developer and non-developer?

   Are log files meaningful to a developer and

   Test for broken network connections, DB
    disconnects, and File Not Found conditions
     Automated Test Tools

   Mercury (

   Empirix (

   Segue Software (
     Automated Test Tools

   N-Unit

   Microsoft Application Center Test (ACT)

   Custom Made Testing Tools
              More Info…

   Effective Software Testing
        by Elfriede Dustin

   How to Break Software
       by James Whittaker

   Northern Ohio Software Quality Assusrance
    Association (

To top