Web Test Plan Development

Web Test Plan Development
The objective of a test plan is to provide a roadmap so that the Web site can be evaluated through requirements or design statements. A test plan is a document that describes objectives and the scope of a Web site project. When you prepare a test plan, you should think through the process of the Web site test. The plan should be written so that it can successfully give the reader a complete picture of the Web site project and should be thorough enough to be useful. Following are some of the items that might be included in a test plan. Keep in mind thatthe items may vary depending on the Web site project.
The Web Testing Process
  • Internet
  • Web Browser
  • Web Server
PROJECT
  • Title of the project:
  • Date:
  • Prepared by:
PURPOSE OF DOCUMENT
  • Objective of testing: Why are you testing the application? Who, what, when, where, why, and how should be some of the questions you ask in this section of the test plan.
  • Overview of the application: What is the purpose of the application? What are the specifications of the project?
TEST TEAM
  • Responsible parties: Who is responsible and in charge of the testing?
  • List of test team: What are the names and titles of the people on the test team?
RISK ASSUMPTIONS
  • Anticipated risks: What types of risks are involved that could cause the test to fail?
  • Similar risks from previous releases: Have there been documented risks from previous tests that may be helpful in setting up the current test?
SCOPE OF TESTING
  • Possible limitations of testing: Are there any factors that may inhibit the test, such as resources and budget?
  • Impossible testing: What are the considerations involved that could prevent the tests that are planned?
  • Anticipated output: What are the anticipated outcomes of the test and have they been documented for comparison?
  • Anticipated input: What are the anticipated outcomes that need to be compared to the test documentation?
TEST ENVIRONMENT: Hardware:
  • What are the operating systems that will be used?
  • What is the compatibility of all the hardware being used?
Software:
  • What data configurations are needed to run the software?
  • Have all the considerations of the required interfaces to other systems been used?
  • Are the software and hardware compatible?
TEST DATA
  • Database setup requirements: Does test data need to be generated or will a specific data from production be captured and used for testing?
  • Setup requirements: Who will be responsible for setting up the environment and maintaining it throughout the testing process?
TEST TOOLS
  • Automated:Will automated tools be used?
  • Manual:Will manual testing be done?
DOCUMENTATION
  • Test cases: Are there test cases already prepared or will they need to be prepared?
  • Test scripts: Are there test scripts already prepared or will they need to be prepared?
PROBLEM TRACKING
  • Tools: What type of tools will be selected?
  • Processes: Who will be involved in the problem tracking process?
REPORTING REQUIREMENTS
  • Testing deliverables: What are the deliverables for the test?
  • Retests: How will the retesting reporting be documented?
PERSONNEL RESOURCES
  • Training:Will training be provided?
  • Implementation: How will training be implemented?
ADDITIONAL DOCUMENTATION
  • Appendix:Will samples be included?
  • Reference materials:Will there be a glossary, acronyms, and/or data dictionary?
Once you have written your test plan, you should address some of the following issues and questions:
  • Verify plan. Make sure the plan is workable, the dates are realistic, and that the plan is published. How will the test plan be implemented and what are the deliverables provided to verify the test?
  • Validate changes. Changes should be recorded by a problem tracking system and assigned to a developer to make revisions, retest, and sign off on changes that have been made.
  • Acceptance testing. Acceptance testing allows the end users to verify that the system works according to their expectation and the documentation. Certification of the Web site should be recorded and signed off by the end users, testers, and management.
Test reports. Reports should be generated and the data should be checked and validated by the test team and users.

Understanding Software Defects

Understanding Software Defects

Describe 13 major categories of Software defects:
  • User interface errors – the system provides something that is different from Interface.
  • Error handling – the way the errors are recognized and treated may be in error .
  • Boundary-related errors – the treatment of values at the edges of their ranges may be incorrect .
  • Calculation errors – arithmetic and logic calculations may be incorrect .
  • Initial and later states – the function fails the first time it is used but not later, or Vice-versa .
  • Control flow errors – the choice of what is done next is not appropriate for the current state .
  • Errors in handling or interpreting data – passing and converting data between systems (and even separate components of the system) may introduce errors.
  • Race conditions – when two events could be processed, one is always accepted prior to the other and things work fine, however eventually the other event may be processed first and unexpected or incorrect results are produced.
  • Load conditions – as the system is pushed to maximum limits problems start to occur, e.g. arrays overflow, disks full .
  • Hardware – interfacing with devices may not operate correctly under certain conditions, e.g. device unavailable .
  • Source and version control - out-of-date programs may be used where correct revisions are available.
  • Documentation – the user does not observe operation described in manuals .
  • Testing errors – the tester makes mistakes during testing and thinks the system is behaving incorrectly.

Testing Life Cycle – Roles and Responsibilities

Testing Life Cycle – Roles and Responsibilities

  • Clear communication protocol should be defined with in the testing team to ensure proper understanding of roles and responsibilities.
  • The roles chart should contain both on-site and off-shore team members.
Testing Life Cycle – Roles and Responsibilities
Test Manager
  • Single point contact between on site and offshore team
  • prepare the project plan.
  • Test management
  • Test planning
  • Interact with onsite lead, Client QA manager.
  • Team Management.
  • Work Allocation to the team.
  • Test coverage analysis.
  • Co-ordination with onsite for issue resolution.
  • Monitoring the deliverables.
  • Verify readiness of the product for release through release review.
  • Obtain customer acceptance on the deliverables
  • Performing risk analysis when required
  • Reviews and status reporting.
  • Authorize intermediate deliverables and patch release to customer.
Test Lead
  • Resolves technical issues for the product group
  • Provide direction to the team member.
  • Perform activities to the respective product group.
  • Review and approve of test plan.
  • Review test script/code.
  • Approve completion of the integration testing.
  • Conduct system/regression test.
  • Ensure tests are conducted as per plan.
  • Reports status to the offshore test manager.
Test Engineer
  • Development of the test cases and scripts
  • Test execution
  • Result capturing and analysis
  • Defects reporting and status reporting.

Testing Life Cycle – Team Structure

Testing Life Cycle Team Structure

  • An effective testing team includes a mixture of members who has Testing expertise/Tools expertise.
  • Database expertise/Domain/Technology expertise.
  • Consultants/End users.
  • The testing team must be properly structured, with defined roles and responsibilities that allow the testers to perform their function with minimal overlap.
  • There should not be any certainty regarding which team member should perform which duties.
  • The test manager will be facilitating any resources required for the testing team.

Iteration Model

Spiral Model

Prototype Model

Waterfall Model

Waterfall Model

The waterfall Model is an engineering model designed to be applied to the development of software.The idea is the following: there are different stages to the development and the outputs of the First Stage "Flow" into the second stage and these outputs "flow" into the third stage and so on.there are Usually five stages in this model of software Development.
Stages of Water Fall Model
Requirement analyis and Planninng:- In This stage the requirements of the "To be developed Software" are established.These are usually the services it will provide,its constraints and Goalsof the Software.Once theae are Established they Have to be defined such a way that are usable in the next Stage.This Stage is often Preludes by a Feasibility or a Feasible study is included in this stage.the Feasibility study includes Questions like;Should we develop the Software,what are the alternatives? It could be called the conception of a software project and might be seen as the very begining of the life cycle.

V-mode of SDLC

V & V PROCESS MODEL :

V&V Model is Verification & Validation Model.In This Model We work simultaneously Development and Testing.In this Model One V for Verification and one For Validation first 'V' we follow SDLC(software Development Life Cycle) and Second 'V' we follow STLC-(Software Testing Life Cycle).
  • Testing normally done in a large system in 2 parts. The functional verification and validation against the Requirement specification and Performance evaluation against the indicated requirements.
  • Testing activity is involved right from the beginning of the project.
  • Use of V&V process model increases the rate of success in a project development company to deliver the application on time and increases the cost effectiveness.
Testing Related Activities During Requirement Phase
  • Creation and finalization of testing template.
  • Creation of test plan and test strategy .
  • Capturing Acceptance criteria and preparation of acceptance test plan.
  • Capturing Performance Criteria of the software requirements.
Testing activities in Design Phase
  • Develop test cases to ensure that product is on par with Requirement Specification document.
  • Verify Test Cases & Test Scripts by peer reviews.
  • Preparation of traceability matrix from system requirements.
Testing activities in Unit Testing Phase
  • Unit test is done for validating the product with respect to client requirements.
  • Testing can be in multiple rounds.
  • Defects found during system test should be logged in to defect tracking system for the purpose of resolving and tracking.
  • Test logs and defects are captured and maintained.
  • Review of all test documents.
Testing activities in Integration Testing Phase
  • This testing is done in parallel with integration of various applications or components.
  • Testing the product with its external and internal interfaces without using drivers and stubs.
  • Incremental approach while integrating the interfaces.
Performance testing
  • This is done to validate the performance criteria of the product/ application. This is non-functional testing.

Business Cycle testing

  • This refers to end to end testing of real life like business scenarios.

Testing activities during Release phase

  • Acceptance testing is conducted at the customer location.
  • Resolves all defects reported by the customer during Acceptance testing.
  • Conduct Root Cause Analysis (RCA) for those defects reported by customer during acceptance testing.

Web Testing Processes In Detail

Web Testing
Testing a Web site is a relatively new concept in the information technology (IT)field. Many businesses will test one part of a Web site, failing to see the importance of testing all the major components. Many businesses have not been as successful as others have because of this lack of testing; therefore, the need to test different aspects of the Web site has increased. The presence of online businesses on the World Wide Web (WWW) has become almost overwhelming. Because of this, you must test your site if you want to succeed, and to do so you need to identify the testing processes and methodologies that are most applicable to your business. Individuals can purchase just about anything on the Internet such as books, medicine, flowers, and paper supplies. To compete in this market, a Web business must be able to handle the volume, secure purchases, and deliver goods to customers. For this to happen, businesses should take Web testing seriously.
Web Testing Challenges.
Web Test Plan

Software Testing Life Cycle Models

Software Testing Life Cycle Models

The various activities which are undertaken when developing software are commonly Modeled as a software development lifecycle. The software development lifecycle begins with the identification of a requirement for software and ends with the formal verification of the developed software against that requirement. The software development lifecycle does not exist by itself; it is in fact part of an overall Product lifecycle. Within the product lifecycle, software will undergo maintenance to correct errors and to comply with changes to requirements. The simplest overall form is Where the product is just software, but it can become much more complicated, with Multiple software developments each forming part of an overall system to comprise a Product. There are a number of different models for software development lifecycles. One thing Which all models have in common, is that at some point in the lifecycle, software has to be tested. This paper outlines some of the more commonly used software development Lifecycles, with particular emphasis on the testing activities in each model. A software life cycle model depicts the significant phases or activities of a software project from conception until the product is retired. It specifies the relationship between project phases, including transition criteria, feedback mechanisms, milestones, baselines, reviews, and deliverables. Typically, a life cycle model addresses the following phases of a software project: requirement phase, design phase, implemenentation, integration, testing, operations and maintenance. Much of the motivation behind utilizing a life cycle model is to provide structure. Life cycle models describe the inter relationship between software development phases .the common life cycle models are;

Testing Life Cycle – Team Structure

http://testingsolution.blogspot.com/2006/12/testing-life-cycle-team-structure.html

Testing Life Cycle – Roles and Responsibilities

http://testingsolution.blogspot.com/2006/12/testing-life-cycle-roles-and.html

Testing Life Cycle – Roles and Responsibilities of Test Manager

http://testingsolution.blogspot.com/2006/12/testing-life-cycle-roles-and.html

Testing Life Cycle – Roles and Responsibilities of Test Lead

http://testingsolution.blogspot.com/2006/12/testing-life-cycle-roles-and.html

Testing Life Cycle – Roles and Responsibilities of Test Engineer

http://testingsolution.blogspot.com/2006/12/testing-life-cycle-roles-and.html