Main Phases And Principles Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik.

Slides:



Advertisements
Similar presentations
Windows Basic and Dynamic Disk Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator Marian Marinov CEO of 1H Ltd.
Advertisements

HTML Forms, GET, POST Methods Tran Anh Tuan Edit from Telerik Academy
Make swiftly iOS development Telerik Academy Telerik Academy Plus.
Amazon S 3, App Engine Blobstore, Google Cloud Storage, Azure Blobs Svetlin Nakov Telerik Software Academy academy.telerik.com.
RPN and Shunting-yard algorithm Ivaylo Kenov Telerik Software Academy academy.telerik.com Technical Assistant
Shortest paths in edge-weighted digraph Krasin Georgiev Technical University of Sofia g.krasin at gmail com Assistant Professor.
Telerik Software Academy Telerik School Academy.
Asynchronous Programming with C# and WinRT
Unleash the Power of JavaScript Tooling Telerik Software Academy End-to-end JavaScript Applications.
Touch and Gestures with Xamarin Forms
Character sequences, C-strings and the C++ String class, Working with Strings Learning & Development Team Telerik Software Academy.
Hybrid or Native?! Doncho Minkov Telerik Software Academy Senior Technical Trainer
Done already for your convenience! Telerik School Academy Unity 2D Game Development.
The Basics of Software Testing
Processing Sequences of Elements Telerik School Academy C# Fundamentals – Part 1.
With Mocha and Karma Telerik Academy Telerik Software Academy.
C# Fundamentals – Part I
Welcome to the JSON-stores world Telerik Software Academy Databases.
The Business Plan and the Business Model Margarita Antonova Volunteer Telerik Academy academy.telerik.com Business System Analyst Telerik Corporation.
What are ADTs, STL Intro, vector, list, queue, stack Learning & Development Team Telerik Software Academy.
Making JavaScript code by template! Learning & Development Team Telerik Software Academy.
Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training Who, What, Why?
Marketing Mix, SWOT Analysis and Stages of Developing an Idea Margarita Antonova Volunteer Telerik Academy academy.telerik.com Business System.
Access to known folders, using pickers, writing to and reading from files, caching files for future access George Georgiev Telerik Software Academy academy.telerik.com.
Processing Matrices and Multidimensional Tables Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Learning & Development Telerik Software Academy.
Reading and Writing Text Files Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Telerik Software Academy ASP.NET Web Forms.
Classical OOP in JavaScript Classes and stuff Telerik Software Academy
Optimization problems, Greedy Algorithms, Optimal Substructure and Greedy choice Learning & Development Team Telerik Software.
Using Selenium for Mobile Web Testing Powered by KendoUI Telerik QA Academy Atanas Georgiev Senior QA Engineer KendoUI Team.
New features: classes, generators, iterators, etc. Telerik Academy Plus JavaScript.Next.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Throwing and Catching Exceptions Tran Anh Tuan Edit from Telerik Software Academy
Software Development Practices and Methodology Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training
Loops, Conditional Statements, Functions Tran Anh Tuan Edit from Telerik Academy
Private/Public fields, Module, Revealing Module Learning & Development Team Telerik Software Academy.
Building Data-Driven ASP.NET Web Forms Apps Telerik Software Academy ASP.NET Web Forms.
Course Introduction Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training
Telerik Software Academy End-to-end JavaScript Applications.
General and reusable solutions to common problems in software design Vasil Dininski Telerik Software Academy academy.telerik.com Intern at Telerik Academy.
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation Team Leader, Team Pulse, Team Leader, Team Pulse, Telerik Corporation,
What you need to know Ivaylo Kenov Telerik Corporation Telerik Academy Student.
Data binding concepts, Bindings in WinJS George Georgiev Telerik Software Academy academy.telerik.com Technical Trainer itgeorge.net.
Objects, Properties, Primitive and Reference Types Learning & Development Team Telerik Software Academy.
When and How to Refactor? Refactoring Patterns Alexander Vakrilov Telerik Corporation Senior Developer and Team Leader.
Free Training and Job for Software Engineers Svetlin Nakov, PhD Manager Technical Training Telerik Corp. Telerik Software Academy.
Free Training and Job for Software Engineers Svetlin Nakov, PhD Manager Technical Training Telerik Corp. Telerik Software Academy.
Access to known folders, using pickers, writing to and reading from files, caching files for future access George Georgiev Telerik Software Academy academy.telerik.com.
Doing the Canvas the "easy way"! Learning & Development Telerik Software Academy.
Creating and Running Your First C# Program Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training
Course Overview Doncho Minkov Telerik Software Academy Technical Trainer
Data Types, Primitive Types in C++, Variables – Declaration, Initialization, Scope Telerik Software Academy academy.telerik.com Learning and Development.
The past, the present, the future Learning & Development Team Telerik Software Academy.
Learn to Design Error Steady Code Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
Connecting, Queries, Best Practices Tran Anh Tuan Edit from Telerik Software Academy
Processing Sequences of Elements Telerik Software Academy C# Fundamentals – Part 2.
Telerik JavaScript Framework Telerik Software Academy Hybrid Mobile Applications.
Telerik Software Academy Databases.
Things start to get serious Telerik Software Academy JavaScript OOP.
Learning & Development Mobile apps for iPhone & iPad.
Processing Matrices and Multidimensional Tables Telerik Software Academy C# Fundamentals – Part 2.
Nikolay Kostov Telerik Software Academy academy.telerik.com Team Lead, Senior Developer and Trainer
Functions and Function Expressions Closures, Function Scope, Nested Functions Telerik Software Academy
Implementing Control Logic in C# Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical trainer
Inheritance, Abstraction, Encapsulation, Polymorphism Telerik Software Academy Mobile apps for iPhone & iPad.
Mocking tools for easier unit testing Telerik Software Academy High Quality Code.
What why and how? Telerik School Academy Unity 2D Game Development.
Windows Security Model Borislav Varadinov Telerik Software Academy academy.telerik.com System Administrator
Fundamental Test Process
Presentation transcript:

Main Phases And Principles Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy Telerik QA Academy

1.Fundamental Test Process  Test Planning and Control  Test Analysis and Design  Test Implementation and Execution  Evaluating Exit Criteria and Reporting  Test Closure Activities 2.Metrics and Measurement 3.The Psychology Of Testing 2

3 Begin Test Planning and Control Test Analysis and Design Test Implementation and Execution Evaluating Exit Criteria and Reporting Test Closure Activities End

Defining The Main Test Strategy

 Starts at the beginning of the software development project  Must be regularly checked, updated, and adjusted 5

 Necessary resources:  Which employees are needed, for what, when?  H o w much time is needed?  Which tools, equipment and utilities?  Necessary training of the employees  Organizational structure  With the appropriate test management 6

 Monitoring of the test activities  Comparing with the plan  Reporting status of deviations from the plan  Taking actions for correction  Updating the test plan according to the feedback 7

 Software projects are often run under severe time pressure  Prioritization guarantees that the critical software parts are tested first 8

 The results from the planning activities should be documented in a test plan  The test plan is a formal document that describes how tests will be performed  List of test activities to be performed to ensure meeting the requirements  Features to be tested, testing approach, schedule, acceptance criteria 9

Live Demo

 Can be considered as two main tasks:  Identify test conditions  Defining what should be tested  An item or event of a component or system that could be verified by one or more test cases  E.g., a function, transaction, feature, quality attribute, or structural element  Designing test cases 12

 Defining what should be tested starts with reviewing the test basis  Product specification may not be testable  Unclear expected outcomes or behaviors  Rework of the requirements has to be done 13

 According to the level of concreteness test cases can be logical and concrete  Logical test cases  They have to be defined first  Do not include concrete input/output values  Concrete test cases  The actual inputs that are chosen  Priority of the next phase of the test process 14

 Initial situation (precondition) must be described  Needed environmental conditions  Which results and behavior are expected  Outputs  Changes to global (persistent) data and states  Any other consequences of the test case 15

 Test cases can be designed for:  Expected inputs  Specified behavior, output, and reaction  Specified handling of exception and error cases  Unexpected inputs  Invalid and unexpected inputs or conditions  Have no specified exception handling 16

 Example:  Web-Application for calculating Christmas bonuses of employees  Supported browsers: IE9,FF, Chrome, Safari  Supported OS: Win Vista, Win 7  Bonuses depend on the length of their company affiliation: 17AffiliationBonus Less than 3 years Bonus = 0% More than 3 years Bonus = 50% More than 5 years Bonus = 75% More than 8 years Bonus = 100%

 Logical test cases: 18 Test case number Input x (company affiliation) Expected result (bonus in%) 1 X <= < x <= < x <= X > 8 100

 Concrete test cases:  This example is a simplified illustration 19 Test case number Input x (company affiliation) Expected result (bonus in%)

Quick Demo

 A mechanism for predicting the expected results  Can be the product specification  Can be another similar product  The result can be inverted and compared to the initial input  The code itself should not be used as a test oracle 21

 Test conditions and logical test cases are transformed into concrete test cases  The environment is set up to support the test execution activity  Tests are executed and logged 23

 How the tests will be executed?  Follows the priority of the test cases set in the test plan  Grouping test cases into test suites  For efficient test execution  For easier overview 24

 Starting testing with the main functions is recommended  Failures occurred at this stage make further testing pointless  Correction must be done before continuing  Time pressure may cause running just a subset of all tests  Having tests prioritized is important 25

 Tests without a protocol are of no value  The test execution must be exactly and completely logged  What tests were made  Who made the tests  Which parts  When  How intensively  With what results  Software version 26

 The tests must be easily repeated  Test environment  Input data  Test logs  Etc. 27

 Is it really a failure?  Erroneous or inexact test specification  Problematic test infrastructure or test case  Incorrect test execution  If it is a failure:  The failure must be documented  Rough analysis of possible causes  Additional test cases might be required 28

 After each correction we must check:  Is the fault really corrected  Are there new faults introduced 29

 What is exit criteria?  The set of generic and specific conditions for permitting a process to be officially completed  Agreed upon with the stakeholders  Used to report against and to plan when to stop testing 31

 A simple example of test exit criteria might be:  100% statement coverage  100% requirement coverage  all screens / dialogue boxes / error messages seen  100% of test cases have been run  100% of high severity faults fixed  80% of low & medium severity faults fixed  maximum of 50 known faults remain  maximum of 10 high severity faults predicted  time has run out  testing budget is used up 32

 Were test exit criteria fulfilled?  Test exit criteria might turn to be unrealistic  Then exit criteria should be corrected 33

 Summary reports might have different size  Simple message to the project manager  Used in lower level tests  E.g., component tests  Formal reports for the stakeholders  Used in higher-level tests  E.g., integration tests, system tests 34

 The experience gathered should be analyzed and made available for further projects  Achieved results  Unexpected events  What were their causes?  Open change requests  Why were they not implemented?  User acceptance after deploying 36

 What can be subjected to a metric and tracked through measurement?  Test coverage  Defects  Including total found, total fixed, current backlog, average closure periods, and configuration, subsystem, priority, or severity distribution  Workload and resource usage  Planned and actual costs 38

 Metrics and measurements should be applied throughout the software development lifecycle  Should be aligned with project goals and objectives  This enables test analysts to track and report test and quality results to management in a consistent and coherent way 39

 A lack of metrics and measurements leads to purely subjective assessments of quality and testing  This results in disputes over the meaning of test results toward the end of the lifecycle  Also results in a lack of clearly perceived and communicated value, effectiveness, and efficiency for testing 40

Some Psychological Factors

 Different mindset is required:  For testing and reviewing  For developing software  Separation of testing from development  Helps focusing effort  Avoids subjectivity 42

 Tests can be designed by:  The person who wrote the software  Another person (e.g. from another team)  Person(s) from a different organizational group (independent test specialist)  Person from a different organization or company 43

 Pointing out ones failures might be perceived as criticism  Communicate bugs in a constructive way  Start with collaboration rather than battles  Focus on the facts, not the person  Try to understand the way the other person feels  Be sure the other person understood what you have said 44

форум програмиране, форум уеб дизайн курсове и уроци по програмиране, уеб дизайн – безплатно програмиране за деца – безплатни курсове и уроци безплатен SEO курс - оптимизация за търсачки уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop уроци по програмиране и уеб дизайн за ученици ASP.NET MVC курс – HTML, SQL, C#,.NET, ASP.NET MVC безплатен курс "Разработка на софтуер в cloud среда" BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране, книги – безплатно от Наков безплатен курс "Качествен програмен код" алго академия – състезателно програмиране, състезания ASP.NET курс - уеб програмиране, бази данни, C#,.NET, ASP.NET курсове и уроци по програмиране – Телерик академия курс мобилни приложения с iPhone, Android, WP7, PhoneGap free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране

1.Which activity in the fundamental test process creates test suites for efficiency of testing? a)Implementation and execution b)Planning and control c)Analysis and design d)Test closure 46

2.What is the purpose of exit criteria? a)To define when a test level is complete b)To determine when a test has completed c)To identify when a software system should be retired d)To determine whether a test has passed 47

3.Which is not a test Oracle a)The existing system (for a benchmark) b)The code c)Individual’s knowledge d)User manual 48

4.Reviewing the test basis is a part of which phase a)Test Analysis and Design b)Test Implementation and execution c)Test Closure Activities d)Evaluating exit criteria and reporting 49

5.A test plan defines a)What is selected for testing b)Objectives and results c)Expected results d)Targets and misses 50

6.Which of the following is most important to promote and maintain good relationships between testers and developers? a)Understanding what managers value about testing b)Explaining test results in a neutral fashion c)Identifying potential customer workarounds for bugs d)Promoting better quality software whenever possible 51

7.Which of the following is not a part of the Test Implementation and Execution Phase a)Creating test suites from the test cases b)Executing test cases either manually or by using test execution tools c)Comparing actual results d)Designing the Tests 52

8.Search the Internet and any books you have available and find additional information about the following topics:  Designing test cases  Test protocols – methods for test documentation  Test metrics 53

9.Search the Internet for some examples of test plans  Note the main structure of test plans  Note the differences between the test plans you find 54