Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy Telerik QA Academy.

Slides:



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

Chapter 19: Network Management Business Data Communications, 5e.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
ITIL: Service Transition
Basic Concepts Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy Telerik QA Academy.
1/17 Non Functional Requirements by: Dr. Timothy Korson CPIS 443.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Chapter 19: Network Management Business Data Communications, 4e.
SWE Introduction to Software Engineering
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 9 Title : Reliability Reading: I. Sommerville, Chap. 16, 17 and 18.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Evaluating Architectures Quality control: rarely fun, but always necessary
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.
Design, Implementation and Maintenance
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Non-functional requirements
MSF Testing Introduction Functional Testing Performance Testing.
Test Design Techniques
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
System/Software Testing
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
TESTING STRATEGY Requires a focus because there are many possible test areas and different types of testing available for each one of those areas. Because.
Pre-Project Activities Text Chapters 5 and 6. Pre-Project Activities 1.Contract Review 2.Development Plan 3.Quality Plan.
Business Continuity and Disaster Recovery Chapter 8 Part 2 Pages 914 to 945.
Managing Software Quality
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Categories of Testing.
Introduction Telerik Software Academy Software Quality Assurance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 2.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Computer Security and Penetration Testing
Configuration Management (CM)
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
Building Quality into Web Applications - Meeting the Challenges of Testing and Usability Paula Duchnowski CQA, CSTE (608)
Chapter 9 Testing the System Shari L. Pfleeger Joann M. Atlee
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
 Chapter 14 – Security Engineering 1 Chapter 12 Dependability and Security Specification 1.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
CS 360 Lecture 17.  Software reliability:  The probability that a given system will operate without failure under given environmental conditions for.
Evaluating Architectures. Quality Control Rarely fun, but always necessary 1.
1 Software Architecture in Practice Quality attributes (The amputated version)
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Non Functional Testing. Contents Introduction – Security Testing Why Security Test ? Security Testing Basic Concepts Security requirements - Top 5 Non-Functional.
ISQB Software Testing Section Meeting 10 Dec 2012.
Tool Support for Testing
ITIL: Service Transition
Software Metrics and Reliability
Non-functional requirements as Gordian knot
Non Functional Requirements (NFRs)
Hardware & Software Reliability
Software Architecture in Practice
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
Software System Testing
Presentation transcript:

Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy Telerik QA Academy

  Quality Attributes for Technical Testing   Technical Security   Security Attacks   Reliability   Efficiency Testing   Maintainability Testing   Portability Testing 2

 Why bother with security testing?  Security is a key risk for many applications  There are many legal requirements on privacy and security of information  Also many legal penalties exist for software vendors' sloppiness 4

 Security vulnerabilities often relate to:  Data access  Functional privileges  The ability to insert malicious programs into the system  The ability to deny legitimate users the use of the system  The ability to sniff or capture data that should be secret 5

 Security vulnerabilities often relate to:  The ability to break encrypted traffic  E.g., passwords and credit card information  The ability to deliver a virus or a worm 6

 Increased quality in security can decrease quality in other aspects:  Usability  Performance  Functionality 7

Reliability

 What is reliability?  The ability of the software product to perform its required functions  Under stated conditions  For a specified period of time  Or for a specified number of operations 9

 Important for mission-critical, safety-critical, and high-usage systems  Frequent bugs underlying reliability failures:  Memory leaks  Disk fragmentation and exhaustion  Intermittent infrastructure problems  Lower-than-feasible timeout values 10

 Reliability testing is almost always automated  Standard tools and scripting techniques exist  Reliability tests and metrics can be used as exit criteria  Compared to given target level of reliability 11

 Software maturity is measured and compared to desired goals  Mean time between failures (MTBF)  Mean time to repair (MTTR)  Any other metric that counts the number of failures in terms of some interval or intensity 12

 Software reliability tests usually involve extended duration testing  As opposed to hardware testing where reliability testing can be accelerated 13

 Tests can be:  Small set of prescripted tests, run repeatedly  Used for similar workflows  Pool of different tests, selected randomly  Generated on the fly, using some statistical model  Stochastic testing  Randomly generated 14

 What is robustness?  Deliberately subjecting a system to negative, stressful conditions  Seeing how it responds  This can include exhausting resources 15

 Recoverability  The system's ability to recover from some hardware or software failure in its environment  Reestablish a specified level of performance  Recover the data affected 16

 Failover testing  Applied to systems with redundant components  Ensures that, should one component fail, redundant component(s) take over  Various failures that can occur are forced  The ability of the system to recover is checked 17

 Backup / restore testing  Testing the procedures and equipment used to minimize the effects of a failure  During a backup/restore test, various variables can be measured:  Time taken to perform backup (full, incremental)  Time taken to restore data  Levels of guaranteed data backup 18

 Not every bug is a result of a failure that requires recovering  Reliability testing requires target failures to be defined – e.g.:  Operating system or an application crashing  Need to replace hardware  Reboot of the server 19

 Reliability test plans include three main sections:  Definition of a failure  Goal of demonstrating a mean time between failures  Pass (accept) criteria  Fail (reject) criteria 20

21

 What is efficiency?  The capability of the software product to provide appropriate performance  Relative to the amount of resources used under stated conditions  Vitally important for time-critical and resource- critical systems 23

 Efficiency failures can include:  Slow response times  Inadequate throughput  Reliability failures under conditions of load, and excessive resource requirements 24

 Load testing  Involves various mixes and levels of load  Usually focused on anticipated and realistic loads  Simulates transaction requests generated by certain numbers of parallel users 25

 Efficiency defects are often design flaws  Hard to fix during late-stage testing  Efficiency testing should be done at every test level  Particularly during design  Via reviews and static analysis 26

 Performance (response-time) testing  Looks at the ability of a component or system to respond to user or system inputs  Within a specified period of time  Under various legal conditions  Can count the number of functions, records, or transactions completed in a given period  Often called throughput 27

 Stress testing  Performed by reaching and exceeding maximum capacity and volume of the software  Ensuring that response times, reliability, and functionality degrade slowly and predictably 28

 What is maintainability?  The ease with which a software product can be modified:  To correct defects  To meet new requirements  To make future maintenance easier  To be adapted to a changed environment  The ability to update, modify, reuse, and test the system 30

 Maintainability testing should definitely include static analysis and reviews  Many maintainability defects are invisible to dynamic tests  Can be easily found with code analysis tools, design and code walk-throughs 31

 What is portability?  The ease with which the software product can be transferred from one hardware or software environment to another  The ability of the application to install to, use in, and perhaps move to various environments 33

 Portability can be tested using various test techniques:  Pairwise testing  Classification trees  Equivalence partitioning  Decision tables  State-based testing  Portability often requires testing a large number of configurations 34

 Installability testing  Installing the software on its target environment(s)  Its standard installation, update, and patch facilities are used 35

 Installability testing looks for:  Inability to install according to instructions  Testing in various environments, with various install options  Failures during installation  Inability to partially install, abort install, uninstall or downgrade  Inability to detect invalid hardware, software, operating systems, or configurations 36

 Installability testing looks for:  Installation requiring too long / infinite time  Too complicated installation (bad usability) 37

 Replaceability testing  Checking that software components can be exchanged for others within a system  E.g., one type of database management system with another  Replaceability tests can be made as part of:  System testing  Functional integration testing  Design reviews 38

Questions?