Lecture 6: Testing/Quality Assurance Damien Markey.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing Relational Database
Chapter 4 Quality Assurance in Context
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Copyright © 2002 Bolton Institute Dept. Of Computing and Electronics – MIA Module Lecture 12: Release and Post Release Management Damien Markey.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Copyright © 2001 Bolton Institute Dept. of Computing & Electronic Technology Multimedia Integration and Applications Lecture 7: Main Build Management.
Server-Side vs. Client-Side Scripting Languages
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
Lecture 7 Model Development and Model Verification.
Software Testing and Quality Assurance Testing Web Applications.
Illinois Institute of Technology
Copyright © 2001 Bolton Institute Faculty of Technology Multimedia Integration and Applications Lecture 9: Production Management Damien Markey.
Copyright © 2001 Bolton Institute Dept. of Computing and Electronics – MIA module Lecture 10: Testing/Quality Assurance Damien Markey.
Release and Post Release Management Damien Markey.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Communication and the Team. Communication Issues A common problem with most development projects are communication issues These can be present in a number.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Lecture 4: Main Build Management Damien Markey. Lecture 4: Main Build Management How to start a build Assembling the team –Designer –Developer –Database.
1 Web Testing CIS 376 Bruce R. Maxim UM-Dearborn.
Software Testing Prasad G.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
Introduction to Interactive Media 02. The Interactive Media Development Process.
Reading Data in Web Pages tMyn1 Reading Data in Web Pages A very common application of PHP is to have an HTML form gather information from a website's.
Commercial Database Applications Testing. Test Plan Testing Strategy Testing Planning Testing Design (covered in other modules) Unit Testing (covered.
Samuvel Johnson nd MCA B. Contents  Introduction to Real-time systems  Two main types of system  Testing real-time software  Difficulties.
Managing Software Quality
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Categories of Testing.
Dr Andy Brooks1 FOR0383 Software Quality Assurance Lecture 1 Introduction Forkröfur/prerequisite: FOR0283 Programming II Website:
Database testing Prepared by Saurabh sinha. Database testing mainly focus on: Data integrity test Data integrity test Stored procedures test Stored procedures.
CompSci 230 Software Design and Construction
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Software Quality Assurance Activities
Introduction Telerik Software Academy Software Quality Assurance.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Introduction to Interactive Media The Interactive Media Development Process.
Client Scripting1 Internet Systems Design. Client Scripting2 n “A scripting language is a programming language that is used to manipulate, customize,
BT Young Scientists & Technology Exhibition App Risk Management.
Testing E001 Access to Computing: Programming. 2 Introduction This presentation is designed to show you the importance of testing, and how it is used.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Rev. 0 CONFIDENTIAL Mod.19 02/00 Rev.2 Mobile Terminals S.p.A. Trieste Author: M.Fragiacomo, D.Protti, M.Torelli 31 Project Idea Feasibility.
Software Project Documentation. Types of Project Documents  Project Charter  Requirements  Mockups and Prototypes  Test Cases  Architecture / Design.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Software Testing Process By: M. Muzaffar Hameed.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
WHAT IS USER ACCEPTANCE TEST? HOW IT IS DIFFERENT FROM SYSTEM TESTING?.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
WEB TESTING
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Engineering (CSI 321)
Project Objectives Publish to a remote server
PHP / MySQL Introduction
LO4 - Be Able to Update Websites to Meet Business Needs
Software System Testing
Presentation transcript:

Lecture 6: Testing/Quality Assurance Damien Markey

Lecture 6: Testing/Quality Assurance What is Quality Assurance (QA)? QA as a constant process (not just at the end) Testing categories Testing plan

What is Quality Assurance (QA)? Quality Assurance is not testing (although QA does contain testing) Quality Assurance has many definitions but generally it is agreed that it is the application of a process (or processes) to assist in creating a quality product It has been adapted from manufacturing where it has been applied for several decades See and

What is Quality Assurance (QA)-2? The QA lead should be involved from the outset of the project so that: –They can develop the testing plan (see later) –They develop an understanding of the client and user requirements –They understand the technical requirements of the technical and hosting teams and the end users.

Common Issues With QA Commonly QA is either –Overlooked and the site is not thoroughly checked –not planned properly, causing budget/scope/timeline changes –The time and budget for QA shrinks as “earlier” tasks slip near delivery date Would you watch a TV show that has not been rehearsed? Without proper QA you will not deliver a quality site

QA As a Constant Process QA is not testing at the end of the project QA has to be a part of every stage of the process e.g –HTML coders validate their code before passing it to the testing team –Designers test their graphics on PC’s and Macs before handing them to the integrators

QA as a Constant Process –2 This is called “White Box” testing –The programmer knows what to (and what not to) input into the system and what output should be created If the programmers, designers, coders, integrators and everyone else perform their white box testing then the QA team can do their “Black box” testing

Black Box Testing The QA lead will produce a test plan based on the initial specification They can then take the key user paths and key tasks that have been documented and test that those functions perform as designed The testers do not need to know how the code works as they act as “preliminary users” Do you need to know how Amazon.com works or do you want to order a book?

Testing Categories There are various types of testing that should be preformed, depending on the site, to ensure a quality product These fall into several categories: –Unit tests –Alpha testing –Content check –Beta testing

Testing Categories (cont.) Load testing Stress tests Functional testing User Acceptance Testing Regression testing Security testing Boundary testing

Unit testing Testing of individual components such as: –Flash movies, –JavaScript rollovers and –functions on a page Usually performed by the developers as part of their own internal testing Performed before the passing of pages to the integration team

Alpha Testing Testing performed, based on the original specification, before the site goes live Usually performed on the development site Usually performed by the internal development team

Content Check Checks the content (images and text) for the following: –Accuracy –Placement within site and page –Copy text readability –Syntax –Images

Beta Testing Post integration (and initial deployment) testing on the liver server –The site is not “live” at this point but is on the live server in the live server set-up Final testing of the site against the original specification

Load Testing What would happen if your site suddenly becomes very popular? E.g. –Friendsreunited.co.uk went from 5,000 page impressions a month to 50,000 a month in about three months Does the site say “server down” or does it handle the increased load gracefully by placing a “Call back later” sign up Or do files become corrupted and data lost?

Load Testing Tools There are software tools for load testing These simulate the effect of a large number of users on a site They can also simulate a lot of people performing certain tasks Tools such as webload and Mercury Interactive perform such testing Needs to be carried out for large load site e.g. Big Brother and comic relief sites

Stress Tests These are similar to load test but on the browser end of the chain They work by seeing the response of the site on a low spec, low bandwidth connection with older browsers –I.e. how does your site work on a Pentium 200Mhz with 8MB of RAM using IE 3?

Functional Testing These are tests that do not involve looking at code but concentrate on the specified functionality of the site Testers act as users and try to perform representative tasks As all tasks and permutations cannot be carried out, representative tasks group several tasks together e.g. –User selects an item, places it in the baskets and then goes back to the shop. They then return to the shop later to checkout

User Acceptance Testing Tests are based on the client specification Usually test the –Platforms –Browsers –Operating System –Functionality of site Once passed the client can “sign off” the site

Regression Testing States what will be tested on the second, third and any further iterations of testing I.e. –Core functionality is tested on the first, second and final pass –Flash content is checked in first and secondary testing (if bugs fixed by second test) This is to prevent the possibility of fixes in bugs for one section causing new bugs in previously fixed code This is essential as most modern sites have shared code between sections

Security Testing This testing check that data sent along secure links is safe from unauthorised access Involves attempting to access the secure data in transit and stored on the servers and databases Essential for financial transaction sites

Boundary Testing Tests forms and input methods for data that is not specified in the original specification e.g. –Entering dates into an amount field –Entering numbers into a name field –Entering “guess” page names into the URL of the site You do not want a site that takes money to not throw back a response if a name is entered in the credit card field!

Testing Plan All of the categories and types of test are put into the project test plan This details the following –Scope of testing Which type of test will be used, what platforms will be tested and what environment will be used –Bug categories Scales (e.g. 1 to 3 with 1 being severe) and types (e.g graphical, functional, usability etc)

Testing Plan - 2 Sections cont –Configuration Management The file naming and versions to be used –Risks and Assumptions Risks such as what can happen if major errors are found What resources and pre-requisites are needed for testing –Schedule and no of iterations

Testing Plan - 3 Test resources –What internal testing resources will be needed Testing cases –The cases to be used (usually key paths) –Any extra Representative cases Final deliverables –Bug report – a list of bugs, severity, type and description

QA summary A summary of bugs found at end of development Any outstanding issues Any recommendations form the testing team