Software testing www.Fullinterview.com.

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Slide 1 Shall Lists. Slide 2 Shall List Statement Categories  Functional Requirements  Non-Functional Requirements.
By Rohen Shah – rxs07u.  Introduction  Different methodologies used  Different types of testing tools  Most commonly used testing tools  Summary.
System Integration Verification and Validation
Solid Palette Gradient Palette I Gradient Palette II APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located.
Quality Assurance Experiences Pete Nordquist Intel / Bear Creek / SOU.
Introduction to Software Testing
Automation using Selenium Authored & Presented by : Chinmay Sathe & Amit Prabhu Cybage Software Pvt. Ltd.
Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
Software Quality SEII-Lecture 15
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
Software Testing Life Cycle
Reliability Andy Jensen Sandy Cabadas.  Understanding Reliability and its issues can help one solve them in relatable areas of computing Thesis.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1Welcome! Rational Requirements Management.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Technology for a better society TDT4140 Software Engineering : 1 Experiences from Requirements Engineering: Coping with requirements in large,
CSE 219 Computer Science III Program Design Principles.
Drexel University CS 451 Software Engineering Winter Yuanfang Cai Room 104, University Crossings
Software Testing and Quality Assurance Software Quality Assurance 1.
An Introduction to Software Engineering. Communication Systems.
GBIF Mid Term Meetings 2011 Biodiversity Data Portals for GBIF Participants: The NPT Global Biodiversity Information Facility (GBIF) 3 rd May 2011.
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
Software Testing Process By: M. Muzaffar Hameed.
MIS 7003 MBA Core Course in MIS Professor Akhilesh Bajaj The University of Tulsa Introduction to S/W Engineering © All slides in this presentation Akhilesh.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Mobile Application Testing Mobile Application Testing.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
NAVSEA Liaison Scott Huseth Faculty Advisor Dr. Jiang Guo Team Members Areg Abcarians David Ballardo Niteen Borge Daniel Flores Constance Jiang June 3,
Testing and delivery Web design principles. Web development is software development.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
WEB TESTING
Introduction to Software Testing Part1 Summary & Terms
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Configuration Management
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Classifications of Software Requirements
Software Engineering (CSI 321)
Integration Testing.
Netscape Application Server
(Professional Business Analyst Training organisation)
Prototyping Lecture # 08.
Requirements Validation – II
The Development Process of Web Applications
Software Testing.
Chapter 18 Maintaining Information Systems
Quality Assurance: Early Work Items
APARTMENT MAINTENANCE SYSTEM
Content Management System
Unit 2 User Interface Design.
5.0 : Windows Operating System
Security Engineering.
CO6025 Advanced Programming
CSC480 Software Engineering
VCE IT Theory Slideshows by Mark Kelly study design
Applied Software Implementation & Testing
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Introduction to Software Testing
The Object-Oriented Thought Process Chapter 05
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Testing and Test-Driven Development CSC 4700 Software Engineering
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Welcome to Corporate Training -1
CS310 Software Engineering Dr.Doaa Sami Khafaga
Test Cases, Test Suites and Test Case management systems
Software Requirements
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
Modern Systems Analysis and Design Third Edition
Presentation transcript:

Software testing www.Fullinterview.com

Why, when, benefits ??? Goal Quality When ? Benefits Testing main goal is to create robust application that works according to specifications. Quality Testing has no impact on software quality. Poorly written code will remain the same. When ? When we are going to support the application  “Code and forget” projects (admin scripts, simple programs) have no need for test cycle. Benefits Discover weak points in implementation (performance, bugs ...). Give more realistic predictions of project completion. Can validate code after changes have been made (If I change this, will my application still work ???).

FURPS ??? FURPS is an acronym representing a model for classifying software quality attributes (non-functional requirements): Functionality - Feature set, Capabilities, Generality, Security Usability - Human factors, Aesthetics, Consistency, Documentation Reliability - Frequency/severity of failure, Recoverability, Predictability, Accuracy, Mean time to failure Performance - Speed, Efficiency, Resource consumption, Throughput, Response time Supportability - Testability, Extensibility, Adaptability, Maintainability, Compatibility, Configurability, Serviceability, Install ability, Localizability, Portability FURPS are essential for limiting the tests and should be a part of every project documentation and confirmed by user.

What should we test part 1 ??? Unit tests In general should be implemented by developer to validate his/her work. They can be prewritten if interface in known in advance. Business logic Most difficult to test. Requires knowledge of business work flow. Usually also done by customer before takeover and therefore not part of the tests, unless business scenarios are defined. GUI Lacks automation (test suites exist but they rely on visual representation - expensive). Very difficult to catch the users interaction and to predict program flow. Best way is by hand unless application design allows testing of GUI functionality. Web Web test is nothing but number of requests called in predefined order. This is now supported with VS TS and by fiddler and … .

What should we test part 2 ??? Security Difficult, requires a lot of knowledge and in general it should be considered in design time. Load Only true test is usually preproduction test with real users. Simulation tools do exist. Goal of load tests is to specify minimum hardware requirement or to estimate the load that end users infrastructure will handle. Should also reveal where bottle necks in design are. Deploy scenarios This will help support team confront possible difficulties before end user does.

Unit tests ??? There are two basic types: Positive (easy): Validates the function. Negative (difficult): Tests error handling of function. Gives robustness to application. Description of error returned is good quality measurement, helps both users and support engineers to quickly define the problem. At least all expected errors should return descriptive responses.

Business logic tests ??? Explanation in simple words: According to predefined scenario test should reproduce user action and check results of it (purchase an item, reserve a room, insert customer …) Tests must be repeatable an repeated throughout the lifetime of an application.

GUI ??? General: Web specific: This test is usually part of business logic test. Standards (general design of forms: double click, buttons look and behavior, context menus …) for GUI design should be defined in advance and is also a part of test. Web specific: When testing websites list of supported browsers and plugins with versions must be provided to do the test Every combination (IE7 + Adobe Flash 6) should be tested.

LOAD ??? General: Load test provides information about maximum load that application will handle in expected response time. This is very important part of FURPS Web load tests are well supported by test suits. MS has provided test tools for MSSQL also. Other platforms (databases) have little or no support.

What is needed for tests??? Clean environment Systems used must be as close to users configuration as possible. OS: must be the same as end users, free of add-ons, unnecessary service packs, patches, developer tools and with default settings. Database: same versions and if possible on similar hardware Servers: same as OS, but hardware must be as close as customers, or at least minimum configuration must be specified (load test). Specifications, scenarios, manuals, code comments All of the above are the tools that testers need in order to create and validate tests. Test data (quantity and contents) Databases should be filled with expected amount of quality data for testing purposes. Empty databases are useless for testing. Limits In theory tests must be independent from infrastructure (database, external services) and should test limited functionality (scenario)

Management point of view Testing costs (a lot of) money : Testing is usually one of the things that is are considered as a cost center on a project and there for struggle is always on to justify testing cost. Testing must not be an excuse for programmers to write poor code. Developers must deliver working code (forms must resize properly, click of a button must not crush an application ...) Testing extends development time but shortens support time: Every test done extends the time to finish the project, but it reduces support (bug fix) costs. Finding the balance is tricky. Testing allows to predict and solve problems before they become production bugs. Testing shortens time needed introduction of changes: In production environments testing is the only way to ensure that new feature does not compromise the existing application. Testing is not always an option(but should be): Usually is a matter of deadline, lack of dedicated resources or budget.