Course Information. 1. Application Guidelines and Regulations. 2. Course Objective. 3. Learning Outcomes



Similar documents
Certified Software Quality Engineer (CSQE) Body of Knowledge

Testing of safety-critical software some principles

MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info

ITIL Foundation Certification Course

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

Body of Knowledge General Knowledge (16 questions) Quality principles Benefits of software quality Organizational and process benchmarking

Certified Software Quality Engineer (CSQE) Body of Knowledge

Basic Testing Concepts and Terminology

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Mobile Tester Foundation Course Outline

Advanced Test Manager E-learning Course Outline

ITIL V3 Service Design Certification Program 3 Days

ISTQB Certified Tester. Foundation Level. Sample Exam 1

I. General Knowledge, Conduct, and Ethics (16 Questions)

The Role of Information Technology Studies in Software Product Quality Improvement

Government of Russian Federation. Faculty of Computer Science School of Data Analysis and Artificial Intelligence

CREDENTIALS & CERTIFICATIONS 2015

Software Testing Certifications

Business Analysis From Yes-M Systems LLC Length: Approx 7 weeks/55 hours Audience: Students with or without IT experience or knowledge Student

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Cut. software development. Improve defect removal efficiency while simultaneously lowering costs and shortening schedules.

Agile Tester Foundation Course Outline

Qualification details

Nancy Kastl, CSQA President and Founder Chicago Quality Assurance Association Chicagoland QAI Global Institute Chapter

Standard Glossary of Terms Used in Software Testing. Version 3.01

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

Certified Tester. Advanced Level Overview

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

ITIL Intermediate: Service Design. Lesson Plan. Mock Exam: Duration: Language:

Software testing. Objectives

ITIL 2011 Service Design Certification Program - 3 Days

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK

Application of software product quality international standards through software development life cycle

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Name of chapter & details

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

ITIL V3 Release, Control and Validation (RCV) Certification Program - 5 Days

ITIL V3 Service Operation Certification Program

Maps between the 2016 CSQE BOK and the previous BOK

ALM120 Application Lifecycle Management 11.5 Essentials

Quality Management. Lecture 12 Software quality management

Dependable (Safe/Reliable) Systems. ARO Reliability Workshop Software Intensive Systems

Agile Software Engineering Practice to Improve Project Success

INTERMEDIATE QUALIFICATION

ITIL 2011 Service Offerings & Agreement (SOA) Certification Program - 5 Days

Karunya University Dept. of Information Technology

Tonight s Speaker. Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft

ISTQB - Certified Tester Advanced Level - Test Manager

Introduction to Automated Testing

REGULATIONS AND CURRICULUM FOR THE MASTER S PROGRAMME IN INFORMATION ARCHITECTURE FACULTY OF HUMANITIES AALBORG UNIVERSITY

Software Quality Testing Course Material

LECTURE 1. SYSTEMS DEVELOPMENT

unless the manufacturer upgrades the firmware, whereas the effort is repeated.

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

ISTQB Worldwide Software Testing Practices Report

Criteria for Accrediting Computer Science Programs Effective for Evaluations during the Accreditation Cycle

ITIL Operations Support Analysis (OSA) Certification Program - 5 Days

Niagara College of Applied Arts and Technology. Program Quality Assurance Process Audit. 18 Month Follow-up Report. Submitted by: Niagara College

a new generation software test automation framework - CIVIM

MOBILE APPLICATION TESTING ENGINEER

8. Master Test Plan (MTP)

Preface Agile Testing Review

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Software Quality Management

QA Classroom and Online training from Yes-M Systems

Course Specification MSc Accounting (MSACT)

Post-graduate Programmes in Construction. Chartered Institute of Building; Royal Institution of Chartered Surveyors

Courses Improve Quality Services

Software Testing & Quality Assurance Department

Agile Testing Principles and Best Practices. Progress Software, Hyderabad, India

Henley Business School at Univ of Reading. Postgraduate Pre-Experience Board of Studies

IT3205: Fundamentals of Software Engineering (Compulsory)

COBIT 5 Implementation Certification Course

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Leveraging CMMI framework for Engineering Services

Levels of Software Testing. Functional Testing

Quality Assurance Training Program

Example Software Development Process.

For students entering in Aristotle University, Thessalonica University Carlos III, Madrid

IT 101 Introduction to Information Technology

Advanced Testing Techniques

COURSE OUTLINE. Course Title Applied College Algebra

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

Test Management and Techniques

Programme Specification and Curriculum Map for the MA in the Theory and Practice of Translation

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

Programme Specification for MSc Applied Sports Performance Analysis

Leveraging Agile and CMMI for better Business Benefits Presented at HYDSPIN Mid-year Conference Jun-2014

F15. Towards a More Mature Test Process. Anne Mette-Hass. P r e s e n t a t i o n

Transcription:

Specification Author: Course Information Nikita Nalyutin, Associate Professor, PhD (Science and Technology Studies: Software Engineering) Subject Title in English: Software testing and quality assurance 1. Application Guidelines and Regulations This specification presents a detailed description of the educational purpose, curriculum, and assessment methods for the discipline Software testing and Quality Assurance. This course is delivered to students of master s program Software Engineering, computer science faculty, HSE. The specification is intended to be used as a source of information by: students and potential students; lecturers delivering lectures and conducting practical classes on the course or related disciplines; professional and statutory regulatory bodies when carrying out accreditation. 2. Course Objective Primary course objective is to develop student professional competences in software testing and verification techniques and to give them practical skills for software testing tools usage. Course topics set is based on enterprise testing approaches and contains topics on test environment managements, test planning, coverage analysis and improvement, integration and load testing, UI testing. Also, course covers project documentation verification and formal inspection process. At the end of the course the overview of Quality Assurance process is given. During the course, the students will: 3. Learning Outcomes Study the basic terms, definitions and principles of software testing and quality assurance; Study state-of-the-art technologies and products for software testing; Study regulatory documents in the area of software testing; Master methods and tools for development of robust test cases for different types of software systems; Master industrial standards for software quality assurance; Master models of testing process in terms of lifecycle phases, role based project structure, test effort management, test coverage.; Acquire practical skills in test analysis and test development; Acquire practical skills in test management and test planning; The course contributes to the development of the following professional competencies [3]: 2

1. Research activities The ability to manage both self-paced and team work on research projects (ПК-3). 2. Project activities The ability to approach projects in a systematic way, to build and apply descriptive and forecasting models, to conduct qualitative and quantitative analysis (ПК-6); 3. Technical activities The ability to apply state-of-the-art development technologies for the development of complex software systems, to take the advantage of automated job scheduling and control tools, and to make use of quality assurance techniques (ПК-9). Curriculum: 4. Discipline in the Educational Program The course length is 80 academic hours, including 20 hours of lectures, 20 hours of practice, and 40 hours of self-study. Academic control forms are one home assignment checked at the final practical seminar. It is a part of specialized curricula unit, and it is delivered in module 1 of the first academic year. Number of credits is 3. Prerequisites: The course is based on the knowledge of foundations of general technical disciplines, mathematics, computer science and fundamentals of the decision theory. 3

5. Subject Structure and Contents No. 1. 2. 3. Topic name Software testing techniques and approaches. Testing in software development life cycle. Test analysis and test development. Test coverage. Repeatability of testing. Regression testing Course hours, Total Audience Hours Lectures Practical studies Self-study Test process documentation: from test strategy to test coverage reports. 4. Formal inspections 5. Unit testing Integration testing 6. 7. User interface testing 8. System testing 9. Robust software development techniques 10. Enterprise approaches for test process organization. Quality Assurance. Total: 80 20 20 40 6. Grading and Assessment Type Form 1 year Notes 1 2 3 4 Progress check Homework assignment * 1) Research paper 2) ISTQB mock tests 3) Defect reports case study Final check Oral exam Talk on research paper topic and several ISQTB-like tasks Homework assignment 6.1. Evaluation criteria 4

Homework consists of 3 parts: 1) Research paper development and analysis. The students select the subject based on their interests. Once approval of the topic is obtained from course instructor, the student writes the research paper based on the information from public sources, personal experience and imagination. 2) Passing of 2 mock tests for International Software Testers Qualification Board (ISTQB) certification. Link to the tests is given by course instructor. 3) Preparation of several defect reports for Web sites selected by students. Evaluation criteria for student s homework assignment are presented in the table below. A maximum score of 10 can be achieved. Development research paper Relevancy of information Real-life story basis Structure of text Sufficiency of selected material Freshness of ideas Accuracy of problem statement Author s contribution and analytical processing of information from public sources Analysis of research paper Demonstration of good command of theoretical knowledge Ability to identify both common and specific problems Exploring various solutions Openness to different perspectives Being persuasive in argumentation Application of risk management principles and decision making methods Oral exam Final exam is in the form of homework review. Student obtain 3 questions on research paper topic, 2 tasks similar to ISTQB test and 2 questions on defect report. Evaluation criteria for student s homework assignment are presented in the table above. A maximum score of 10 can be achieved. Penalties Should plagiarism be identified in the student s homework, disciplinary measures are applied as appropriate per the HSE Charter. 6.2. Overall Score Overall score on the course Ofinal is determined using the following formula: Ofinal = (Ohome<4 Oexam<4)? min (Ohome, Oexam): 0,5*Ohome+0,5Oexam where - Ohome- score achieved by the student for the homework assignment; - Oexam - score achieved by the student for the written exam. Should the student fail to either pass the written exam or submit the case before the end of the course, overall score for the next attempts is determined using the following formula: Ofinal = (Ohome<4 Oexam<4)? min (Ohome, Oexam): 0,8*(0.5Ohome + 0.5Oexam) 5

A score of 4 or higher means successful completion of the course ( pass ). A score of 3 or lower means failure to complete the course ( fail ). 7. Detailed Curriculum Plan Topic 1. Software testing techniques and approaches. Testing in software development life cycle. 1. Software development life cycle 2. Life cycle models Waterfall Spiral Prototyping Rapid 3. Software development process frameworks: Microsoft Solutions Framework Rational Unified Process extreme Programming Agile Scrum 4. Roles in software development team, role interaction for different processes 5. Goals of software testing. Difference between testing and quality assurance. Difference between testing, verification and validation. 6. Types of testing process and test integration into the lifecycle: Unit testing Integration testing System testing Load testing Static testing techniques 7. Testing of mission-critical software and the difference with business software. Topic 2. Test analysis and test development. Test coverage. Repeatability of testing. Regression testing. 1. Test approaches: Black box White box Model checking Static checking 2. Test environment Drivers and stubs Testing classes Signal generators 3. Test cases Requirements based test case development Explorative test case development 6

Equivalence partitioning Test plan Test traceability Test execution statistics 4. Test coverage Requirements and code coverage Types of code coverage: lines, branches, condition, decision, condition/decision, modified condition/decision. Equivalence partitioning Boundary conditions Robustness checks Coverage completeness checks 5. Repeatability of tests in enterprise environment, regression testing 6. Test pre-condition, test dependencies, test environment management, types of test environments Topic 3. Test process documentation: from test strategy to test coverage reports. 1. Test processes and test documentation for each process. 2. Test strategy 3. Test plan 4. Test requirements. Traceability, completeness, consistency, testability. 5. Test scenarios. Types of test scenarios (sequences, checklists, tables, automata). Test generators. 6. Test execution reports. Types of test execution reports. Execution reports analysis. 7. Coverage reports. Types of coverage reports. Coverage reports analysis. 8. Defect reports. Types of defect reports. Defect reports analysis, release planning based on defect reports. Topic 4. Formal inspections. 1. Types of static techniques. Types of project reviews. Difference of formal inspection from other types of review. 2. Formal inspection roles, life cycle 3. Code formal inspection: role setting, preparation, results documentation 4. Requirements formal inspection: role setting, preparation, results documentation Topic 5. Unit testing. 1. Goals of unit testing 2. Unit boundaries 3. Test environment architectural approaches 4. Data for unit testing 5. Unit testing repeatability, continuous integration 7

Topic 6. Integration testing. 1. Goals of integration testing 2. Integration testing approaches: Early integration Big bang integration Layer-based integration Hierarchical integration 3. Module interface testing 4. Requirements limits, testing missing integration requirements. Topic 7. User interface testing. 1. Goals of user interface testing 2. User interface testing approaches: manual testing, scenarios, event simulation 3. Interface testing automation, test supportability 4. Completeness criteria for user interface testing Topic 8. System testing. 1. Goals of system testing 2. System testing planning 3. Test environment set-up 4. Load testing 5. Mission critical software system tesing Topic 9. Robust software development. 1. Critical points 2. Assertions 3. Exception handling 4. Automated code robustness analysis Topic 10. Enterprise approaches for test process organization. Quality Assurance. 1. Quality assurance. Goals. Quality management (ISO 9000, CMMI). Quality audits. Corrections and corrective actions. Process optimization 2. Configuration management. Goals. Identification. Version control. Life cycle control. Traceability. Baselines. 3. Enterprise-level quality management 8

Sample topics: 8. Assessment Methods Research paper 1. Pros and cons for explorative testing and scenario-based testing 2. Pros and cons of waterfall vs. agile, testing in these lifecycles 3. Project risks for software testing 4. Configuration management for software testing 5. Testing of high-load internet sites 6. Test tool selection strategy for software projects 7. Testing vs. quality assurance 8. Context testing school 9. Test effort estimation techniques 10. Move from manual to automated testing: benefits and problems 11. Test team management: goals, tasks, risks 12. UX and usability testing techniques 13. Regression testing as project health indicator 14. Test end criteria and their impact to software quality 15. Test effectiveness estimation 16. Types of test coverage 17. Test documentation flows 18. Testing without requirements - pros and cons 19. Test stragegy 20. Outsourced test management 21. Project risks for outsourced testing 22. Mobile applications testing Assesment: Evaluation of research paper text as a homework is performed using academic-wide set of criteria to evaluate research papers (completeness, innovation, original material etc), giving maximum of 6 points to Ohome. On oral exam student should answer to 3 questions based on his research paper topic, giving maximum 6 points to Oexam (2 points each question). Mock tests Samples of mock tests questions: 1) An input field takes the year of birth between 1900 and 2004. The boundary values for testing this field are: A. 0,1900,2004,2005 B. 1900, 2004 C. 1899,1900,2004,2005 D. 1899, 1900, 1901,2003,2004,2005 9

2) Pick the best definition of quality A. Quality is job one B. Zero defects C. Conformance to requirements D. Work as designed Assesment: During the homework student should pass minimum 2 mock tests giving him up to 4 point (2 points each test) to Ohome. On oral exam student should answer to 2 questions similar to questions in mock test, giving him up to 2 points to Oexam. Defect reports During the homework student should prepare minimum 2 defect reports for his favorite Web site, giving him no extra points to Ohome. On oral exam student should answer to 2 questions on his defect reports, giving him up to 2 points to Oexam. 9. Learning Resources (in Russian and English) 1. Блэк Р. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование. М.: Лори, 2006. // Rex Black. Critical Testing Processes: Plan, Prepare, Perform, Perfect 2. Савин Р. Тестирование Дот Ком, или пособие по жестокому обращению с багами в интернет-стартапах. М.: Дело, 2007. 3. Липаев В.В. Тестирование компонентов и комплексов программ. М.:Синтег, 2010. 4. Криспин Л., Грегори Д. Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд. М.:Вильямс, 2010..// Lisa Crispin and Janet Gregory. Agile Testing: A Practical Guide for Testers and Agile Teams 5. Бейзер Б. Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем. СПб.:Питер, 2004. // Boris Beizer. Black-Box Testing: Techniques for Functional Testing of Software and Systems 6. Канер С., Фолк Д., Нгуен Е.К. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений. М.:ДиаСофт, 2001. // Cem Kaner et al. Testing Computer Software, 2nd Edition 7. Дастин Э., Рашка Д., Пол Д. Автоматизированное тестирование программного обеспечения. М.:Лори, 2003. // Elfriede Dustin et al. Automated Software Testing: Introduction, Management, and Performance: Introduction, Management, and Performance 8. Тамре Л. Введение в тестирование программного обеспечения. М.:Вильямс, 2003. // Louse Tamres. Introducing Software Testing 9. Котляров В.П., Коликова Т.В. Основы тестирования программного обеспечения. М.:ИНТУИТ, 2009. 10. Синицын С.В., Налютин Н.Ю. Верификация программного обеспечения. М.:ИНТУИТ, 2008. 11. Синицын С.В., Налютин Н.Ю. Верификация программного обеспечения. http://www.intuit.ru/department/se/verify/ 10

12. ГОСТ Р ИСО 9001-2001. Системы менеджмента качества. Требования М.: ИПК Изд-во стандартов, 2001. // ISO 9000 Quality Systems Handbook 13. RTCA/DO-178B. Software considerations in airborne system and equipment certification RTCA Inc, 1992. 14. IEEE 1012-1998. IEEE Standard for Software Verification and Validation Institute of Electrical and Electronics Engineers. 01-May-1998. 15. IEEE 829-1998. IEEE Standard for Software Test Documentation Institute of Electrical and Electronics Engineers. 01-May-1998. 16. IEEE 1008-1987. IEEE Standard for Software Unit Testing. Institute of Electrical and Electronics Engineers. 01-May-1987. 17. ГОСТ 27.002-89. Надежность в технике. Основные понятия. Термины и определения. М.: Издательство стандартов, 1990. 18. ГОСТ 13377-75. Надежность в технике. Термины и определения. М.: Изд-во стандартов, 1975. 19. IEEE 1042-1987. IEEE Guide to Software Configuration Management. Institute of Electrical and Electronics Engineers. 10-Sep-1987. 20. Майерс Г. Искусство тестирования программ. М.:Финансы и статистика, 1982, 176 с // Glenford Myers. The Art of Software testing 21. ISO/IEC 9126-1:2001. Software engineering -- Product quality -- Part 1: Quality model International Organization for Standardization/International Electrotechnical Commission. 01-Jun-2001. 22. Microsoft Solutions Framework. Методология создания программных решений http://www.microsoft.com/rus/msdn/msf/default.mspx Special Equipment Practical studies are conducted in a computerized laboratory equipped with an overhead projector and audio portables. Every student has a PC with high speed internet connection and access to the HSE electronic library. References 1. Master curriculum of MSc educational programme 09.04.04 Software Engineering, specialization Software development management. Moscow, HSE, 2014. 2. Curriculum of 1 st year MSc educational programme 09.04.04 Software Engineering, specialization Software development management. - Moscow, HSE, 2014. 3. Educational standard of the Federal State Autonomous Educational Institution for higher professional education "National Research University "The Higher School of Economics" (HSE) / educational course area code 09.04.04 "Software Engineering", MS degree level. The author of the program: Nalyutin N. 11