Test Process Improvement & Test/Build Tool Evaluation

Total Page:16

File Type:pdf, Size:1020Kb

Test Process Improvement & Test/Build Tool Evaluation Test Process Improvement & Test/Build Tool Evaluation Master thesis 30hp, Advanced level Students: Jesper Söderlund [email protected] Thomas Sörensen [email protected] Supervisor: Markus Lindgren [email protected] Examiner: Daniel Sundmark [email protected] School of Innovation, Design and Engineering P.O. Box 883, SE-721 23 Västerås. Tel: +46 21 10 31 60. E-mail: [email protected] Web: www.mdh.se/idt 2 Sammanfattning De produkter som företaget tillverkar används i huvudsak inom ett område av branschen där fel som leder till stopp i produktionen kan vara ganska dyrt. Detta gör testning av produkterna viktiga och tester kan också ge indikationer om kvaliteten på produkterna. Företaget är i en fas där man utvecklar en ny produktlinje som ska stödja alla befintliga och framtida produkter. I denna fas har man beslutat att alla produkterna ska använda ett gemensant ramverk för enhetstestning och även använda ett gemensamt byggsystem för samtliga produkter. En del av examensarbetet var att undersöka och utvärdera olika ramverk för enhets testning och verktyg för byggsystem. De ramverk som utvärderades var CppUnit, cfix, NUnit, Boost test library, unitTest++ och CxxTest. Utvärderingen ledde fram till att CppUnit rekommenderades till företaget. Verktyg som utvärderades för byggsystem var MSBuild, NAnt, Automated Build Studio och Cruise Control .Net. För byggsystem rekommenderas MSBuild i kombination med Cruise Control .Net ifall företaget är intresserade av den extra funktionalitet som Cruise Control .Net har att erbjuda. Företaget har även ett intresse av att utvärdera den nuvarande testprocessen och identifiera förbättringar som ett led i att befintliga produkter skall följa en gemensam testprocess. För att kunna identifiera dessa förbättringar utfördes en litteraturstudie över fyra stycken test process förbättrings ramverk (Test Process Improvent, Test Maturity Model integrated, Minimal Test Practice Framework och Test Improvement Model). Utav dessa fyra ramverk så valdes Test Process Improvement (TPI) ut som en hjälp för att identifiera förbättringar. Med hjälp av TPI utfördes en begränsad bedömning av företagets mogenhetsgrad på tre produkter, där två av produkterna har en låg mogenhetsgrad. Resultat av förbättringsåtgärderna kan sammanfattas med att man bör harmonisera dokument, standardisera och dokumentera olika processer. Som en sista del i examensarbetet så utvärderades möjligheten att automatisera testning på två av produkternas grafiska användargränssnitt med programmet TestComplete. För en av produkterna blev resultatet att det fungerade tillfredställande och för den andra produkten så fungerade det inte alls. Resultatet blev rekommendationer för hur företaget borde gå vidare med automatisering av testnig på det grafiska användargränssnittet. 3 Abstract The products The Company manufactures are used in an area of the industry where errors leading to a stop in production can be quite expensive. Therefore are testing of the products important and the tests can also give indications about the quality of the products. The Company is in a phase where they are developing a new product line to support all existing and future products. In this phase, it was decided that all products will use a common framework for unit testing and a common build system for all products. One part of the thesis was to investigate and evaluate different frameworks for unit testing and tools for a build system. The unit test framework that were evaluated are Cppunit, cfix, NUnit, Boost test library, Unit Testing++ and CxxTest. The result of the evaluation was that CppUnit were recommended. For the build system MSBuild, NAnt, Automated Build Studio and Cruise Control .NET were evaluated. The recommended tools for a build system is MSBuild in combination with Cruise Control .Net if The Company is interested in the functionality Cruise Control .Net has to offer. The Company also has an interest in evaluating the current test processes and identify improvements as a part of The Company’ s objective were all products should follow a common test process. In order to identify these improvements a literature study of four test process improvement frameworks (Test Process Improvement, Test Maturity Model Integrated, Minimal Test Practice Framework and Test Improvement Model) were carried out. Out of these four frameworks Test Process Improvement (TPI) were chosen to assist when identifying improvements. With the help of TPI a limited assessment took place to give indications about the test maturity for three of The Company’s products where two of the products had low maturity. Results of the improvement measures can be summed up with the need to harmonize the documents, standardize and document the various processes. As a last part of the thesis the possibility to automate testing of two of the products graphical user interfaces with the program Test Complete were investigated. For one of the products the result was that it worked satisfactorily and for the other product it did not work at all. This resulted in recommendations for how The Company should proceed with automated testing of the graphical user interface. 4 1 Definitions and acronyms ....................................................................................... 6 2 Introduction .............................................................................................................. 7 3 Testing ...................................................................................................................... 8 3.1 Testing Methods ........................................................................................... 8 3.2 Testing levels ............................................................................................... 8 3.3 Code Coverage ............................................................................................ 8 4 Unit testing ............................................................................................................. 10 4.1 Introduction ................................................................................................ 10 4.2 Literature survey ........................................................................................ 10 4.3 Interviews ................................................................................................... 11 4.4 Evaluation of unit test Frameworks ............................................................. 11 4.4.1 CxxTest ........................................................................................ 13 4.4.2 Boost test library ........................................................................... 13 4.4.3 Cfix ............................................................................................... 13 4.4.4 CppUnit ........................................................................................ 13 4.4.5 Unittest++ ..................................................................................... 13 4.4.6 NUnit ............................................................................................ 14 4.5 Summary of Evaluation of Unit Test Frameworks ....................................... 14 4.6 Results ....................................................................................................... 14 5 Build systems ........................................................................................................ 16 5.1 Introduction ................................................................................................ 16 5.2 Literature survey ........................................................................................ 16 5.3 Evaluation of Build Tools ............................................................................ 17 5.3.1 MSBuild ........................................................................................ 18 5.3.2 NAnt ............................................................................................. 18 5.3.3 Automated Build Studio ................................................................ 19 5.3.4 Cruise Control .Net ....................................................................... 19 5.4 Result ......................................................................................................... 19 6 Test improvement .................................................................................................. 20 6.1 Introduction ................................................................................................ 20 6.2 Literature survey ........................................................................................ 20 6.2.1 TPI (Test Process Improvement) .................................................. 20 6.2.2 TMMI (Test Maturity Model Integrated) ......................................... 21 6.2.3 MTPF (Minimal Test Practice Framework) .................................... 22 6.2.4 TIM (Test Improvement Model) ..................................................... 22 6.3 Choice of Framework ................................................................................. 22 6.4 TPI Assessment ......................................................................................... 22 6.5 TPI Assessment summary .......................................................................... 30 6.6 Improvement suggestions .......................................................................... 30 6.7 Results ......................................................................................................
Recommended publications
  • Performance Analysis of Automation Testing Tools for WPF Application
    International Journal of Research (IJR) e-ISSN: 2348-6848, p- ISSN: 2348-795X Volume 2, Issue 06, June 2015 Available at http://internationaljournalofresearch.org Performance Analysis of Automation Testing Tools for WPF Application Nishi Tiku1; Ameya Parkar2; Idris Rampurawala3& Aswathi Menon4 1 Head of Department, Department of Master in Computer Application, Vivekanand Education Society’s Institute of Technology - Mumbai, Maharashtra, India 2 Assistant Professor, Department of Master in Computer Application, Vivekanand Education Society’s Institute of Technology - Mumbai, Maharashtra, India 3 Student, Department of Master in Computer Application, Vivekanand Education Society’s Institute of Technology - Mumbai, Maharashtra, India 4 Student, Department of Master in Computer Application, Vivekanand Education Society’s Institute of Technology - Mumbai, Maharashtra, India Abstract Software testing provides a means to reduce defects as early as possible in SDLC. errors, cut maintenance and overall software costs. Testing has become most important Automation testing addresses these challenges parameter in the case of software development presented by manual testing. Automating test lifecycle (SDLC). Testing automation tools enables cases leaves manual testers to focus more on developers and testers to easily automate the writing test cases and analysis of defects and entire process of testing in software development. quality issues in the project. With so many tools in It is to examine & modify source code. Effective the market, in the past comparison studies have Testing produces high quality software. The been done to evaluate features and usability of objective of the paper is to conduct a comparative different tools. It can be executed multiple times study of automated tools such as available in across iterations much faster than manual test market in HP Quick test professional (QTP) and cases, saving time as well as cost.
    [Show full text]
  • Testcomplete Certification
    Certification by SMARTBEAR TestComplete Certification Certification for Test Automation Professionals Frequently Asked Questions About the TestComplete Certification The TestComplete Certification is a technical automated testing credential to validate your expertise and knowledge of TestComplete best practices. By earning this certification, you are solidifying yourself as a top test automation professional in TestComplete. This 60 question, 90 minute certification was designed to challenge testers in best practices in TestComplete, as well as test their understanding of the purpose and concepts behind automated testing and scenarios. To pass you need 70% or higher. It is designed to cover the practitioner functions of TestComplete, and deep dives into scripting, data- driven testing and more. A complete list of subjects is below: ¿ TestComplete IDE ¿ Data-Driven Testing ¿ Manual Testing ¿ Project Overview ¿ Web Testing ¿ Low Level Procedures ¿ Playback and Record ¿ Distributed Testing ¿ Loading DLL’s ¿ Keyword Testing ¿ Test Logs ¿ .NET Bridge Integration ¿ Script Testing ¿ Debugging ¿ Database Testing ¿ Name Mapping ¿ Deployment and ¿ Error Handling ¿ Checkpoints Scheduling ¿ Event Handling ¿ Web Service Testing ¿ Variables ¿ User Forms ¿ Implementing Events The Perfect Candidate The perfect candidate has about a year’s worth of experience with TC and test automation, and should be able to design tests, create test automation strategies and be able to write scripts in VBScript or JScript. Questions on the exam are mostly in Jscript, with a few in VBScript. Suggested Learning While there are no prerequisites, we recommend you: ¿ Have at least six months to one year of hands-on experience with TestComplete ¿ Review the topics above on our support site, which are covered on the exam ¿ Consider purchasing the TestComplete video tutorials to aid in your studying (not all exam questions are covered in the videos) Before You Begin Before starting the test, make sure you have 90 minutes of free, uninterrupted time available.
    [Show full text]
  • Getting Started with Testcomplete 11
    Desktop, Web and Mobile Testing Tutorials *Windows and the Windows logo are trademarks of the Microsoft group of companies. 2 About the Tutorial With TestComplete, you can test applications of three major types: desktop, web and mobile: • Desktop applications - these applications are executed on desktop computers running the Windows operating system. • Web applications - these applications are executed in web browsers (including those web browsers that are embedded into desktop applications). • Mobile applications - these applications are executed on Android or iOS devices. This document is for novice users. It provides a brief overview of automated testing and of the product, and includes tutorials that explain how to create tests for major application types. After you read these tutorials, you will be able to create, modify and execute tests for desktop, web and mobile applications. smartbear.com TestComplete by SmartBear Software Table of Contents 3 Table of Contents INTRODUCING AUTOMATED TESTING AND TESTCOMPLETE ..................................................... 5 Automated Testing ......................................................................................................................................... 5 Test Types....................................................................................................................................................... 5 TestComplete Projects and Project Items ....................................................................................................... 6 TestComplete
    [Show full text]
  • Guide to Test Automation Tools 2017 - 2018
    Guide to Test Automation Tools 2017 - 2018 WHITEPAPER QATestlab 2017 Copyright 2017 ©QATestLab. All Rights Reserved Table of Contents Summary 3 Introduction 3 1. Test Automation Tools. Market review 1.1. Selenium WebDriver Framework 4 1.2. Appium Framework 5 1.3. Robotium Framework 7 1.4. Serenity Framework 9 1.5. Robot Framework 10 1.6. Galen Framework 12 1.7. HP Unified Functional Testing (UFT) 14 1.8. Ranorex Studio 16 1.9. TestComplete 19 1.10. Telerik Test Studio 20 1.11. Applitools Eyes 22 1.12. Test Automation Tools and Frameworks: Comparison of 23 Technical Aspects 2. Test Automation Tools Approved by QATestLab 2.1. Selenium WebDriver 26 2.2. Appium 28 2.3. TestComplete 29 2.4. Ranorex Studio 31 3. Summary 32 Contact Information 33 2 Copyright 2017 ©QATestLab. All Rights Reserved Summary Table of Contents Click the section to jump This whitepaper aims at providing the comprehensive data on the most ahead popular test automation tools in 2017 - 2018 including the description of Summary their parameters which can be considered when selecting a tool / framework for test automation. The document also provides the Introduction comparison of the leading test automation tools highlighting both 1. Test Automation advantages and disadvantages, and also main objectives, technical Tools. Market review characteristics and the information about a provider. 1.1. Selenium WebDriver Framework The whitepaper is aimed to assist in selecting a proper test automation 1.2 Appium Framework tool avoiding time and money losses. Besides, it includes the 1.3 Robotium recommendations on the most effective test automation tools, Framework 1.4 Serenity Framework information about their effectiveness and maintainability, which were 1.5 Robot Framework prepared by QATestLab on the ground of successful execution of 50 test 1.6 Galen Framework automation projects.
    [Show full text]
  • Test-Automation-Case Study-V02
    Automation Testing Tools - Comparison Matrix www.qaratest.com H elping you choose the right automation testing tool In today’s dynamic market, it is a given that only agile and enterprise-ready lean organizations can meet its ever-growing demands within a short span of time. Choosing and setting up the right automation testing tool is the essential first step towards achieving this goal. “A good start is half the battle won!” This case study will help readers understand the different features that popular test automation tools have to offer, using a comparison study of three of the leading Test Automation tools including: T/DG’s (The Digital Group) QARA, HP QTP, and TestComplete. We understand that choosing the right automation tool that fits your organization’s goals is truly a challenging task. This study puts three tools on the same plate giving readers a very comprehensive overview in terms of their cost-effectiveness, their features and support functions. C riteria for the selecting HP QTP and Test Complete for this study The reason for choosing HP QTP and TestComplete for this comparison study is simply the fact that they are the top two widely used test automation tools and the most popular software testing tools available today. Test Automation Tool Comparison at a glance Cost-eectiveness QARA HP QTP TestComplete License Cost Highly $7,500 per Node-Locked License (Platform+Web) economical seat/perpetual - $1,999 per seat/perpetual License License Floating User License (Platform+Web) - $4,498 per seat/perpetual License Maintenance
    [Show full text]
  • Testcomplete 14 デスクトップ、Web およびモバイル テストの チュートリアル 2
    TestComplete 14 デスクトップ、Web およびモバイル テストの チュートリアル 2 チュートリアルについて TestComplete を用いることで、デスクトップ、Web、モバイルの 3 種類のアプリケーションをテストすることが できます。 • デスクトップ アプリケーション - これらのアプリケーションは、Windows オペレーティング システムが 動作しているデスクトップ コンピューターで実行します。 • Web アプリケーション - これらのアプリケーションは、Web ブラウザー (デスクトップ アプリケーション に組み込まれた Web ブラウザーを含む) で実行します。 • モバイル アプリケーション - これらのアプリケーションは、Android デバイスまたは iOS デバイスで 実行します。 このドキュメントは、初めて TestComplete を使用するユーザー向けに用意されたもので、自動テストおよび 製品の概要を紹介します。また、主なアプリケーション タイプのテストの作成方法を説明するチュートリアル も含まれています。これらのチュートリアルをお読みになることで、デスクトップ、Web、モバイル アプリケー ションのテストを作成、修正、実行することができます。 2019.4.2 – TestComplete 14.00 2020.7.29 – Rev 2 Translated by XLsoft Corporation smartbear.com TestComplete by SmartBear Software 目次 3 目次 自動テストおよび TestComplete について....................................................................................................... 5 自動テスト .......................................................................................................................................................................................... 5 テスト タイプ ....................................................................................................................................................................................... 5 TestComplete プロジェクトとプロジェクト項目 .................................................................................................................................... 6 TestComplete ユーザー インターフェース ......................................................................................................................................... 8 TestComplete テスト
    [Show full text]
  • Getting Started with Testcomplete 14 Desktop, Web, and Mobile Testing Tutorials 2
    Getting Started with TestComplete 14 Desktop, Web, and Mobile Testing Tutorials 2 About the Tutorial With TestComplete, you can test applications of three major types: desktop, web and mobile: • Desktop applications - these applications are executed on desktop computers running the Windows operating system. • Web applications - these applications are executed in web browsers (including those web browsers that are embedded into desktop applications). • Mobile applications - these applications are executed on Android or iOS devices. This document is for novice users. It provides a brief overview of automated testing and of the product, and includes tutorials that explain how to create tests for major application types. After you read these tutorials, you will be able to create, modify and execute tests for desktop, web, and mobile applications. smartbear.com TestComplete by SmartBear Software Introducing Automated Testing and TestComplete 3 Table of Contents INTRODUCING AUTOMATED TESTING AND TESTCOMPLETE ..................................................... 5 Automated Testing ......................................................................................................................................... 5 Test Types....................................................................................................................................................... 5 TestComplete Projects and Project Items ....................................................................................................... 6 TestComplete User
    [Show full text]
  • Automation Testing Using Testcomplete 11.0 Course Provides an Understanding of Mobile Testing and Web Testing Concepts As Per the Industry Standards
    follow us Tel +441273622272 [email protected] Are you interested to accelerate your career as a successful TestComplete professional? Then, you have picked the right course. The Automation Testing using TestComplete 11.0 course provides an understanding of mobile testing and web testing concepts as per the industry standards. The Automation Testing using TestComplete 11.0 course equips the delegates with the essential knowledge and skills required to become a successful TestComplete professional. The course provides a comprehensive knowledge of TestComplete Tool. The working knowledge of the tool will help the delegates in understanding automation testing and the better use of automation testing. During the TestComplete course, the delegates will learn about different aspects of automation testing along with its usage and how to create Automated UI tests Across Any Desktop, Web, or Mobile App. Master the concepts like Mobile Testing and Web Testing with our two day Automation Testing using TestComplete 11.0 training program. The course helps the delegates to become an automation testing expert in TestComplete. The delegates will learn about all aspects of testing like Web testing, Mobile testing, Desktop testing and Web Services testing using TestComplete. The course covers both fundamental and advanced concepts of Automation Testing such as record, playback, data driven and keyword driven framework. The course helps the delegates in acquiring the automation testing skills and expertise in all aspects of automation testing. Throughout the course, the delegates will gain an in-depth knowledge of automation testing, recording and playback functionality of web applications and desktop, web services testing and database testing using the TestComplete kit.
    [Show full text]
  • An Exploratory Assessment Study on an Open-Source Web Application
    POLITECNICO DI TORINO Master’s degree course in Computer Engineering Master’s Degree Thesis Test Fragility: An exploratory assessment study on an Open-Source Web Application Supervisors Candidate Assistant Prof. Luca Ardito Huang Shijie Research Assistant. Riccardo Coppola Student Number: s233098 Prof. Morisio Maurizio Academic Year 2019-2020 This work is subject to the Creative Commons Licence Abstract Context: With the explosive growth of web applications in the last two decades, web application testing is an integral part of the web application development process. Frequent web application testing can minimize the chance of bugs ruining the customer experience and it also gives you a bet- ter overall idea about how your app performs, what its strengths are, and where the weak points are hidden. Automating web application testing is a highly automated process for testing web applications, and manual testing is not suitable for critical and complex applications in terms of both human resources and time, so automation testing has been introduced to overcome manual testing problems. Automation is a must in the interests of effective- ness and efficiency. Goal: The objective of this thesis is to understand the automated web application testing techniques for web applications, and analyze the main fragility (i.e., need for maintenance of existing cases) causes of web applica- tion tests. This evaluation has been performed by means of an exploratory experiment. The test fragility results are evaluated for two different auto- mated testing technologies.
    [Show full text]
  • 9397 Microway Update #24 Aprmay08.Indd
    UPDATE April / May 2008 NEW! CONTENTS Functional Index page 22 DEVELOPER 3rdRail . 17 C++Builder 2007 . 16 Visual Studio 2008 Officially Launched! new technology for developing rich interactive Chart FX . 3 As most would already know by now, Microsoft applications for the Web). Take a look at CodeCharge Studio 4.0 . 9 the products under the Developer category CodeGear RAD Studio 2007. 16 “officially” launched Visual Studio 2008 in February. ComponentOne Studio Enterprise 2008 . 4 in this edition. DataWindow. NET 2.5 . 20 What is not so well known is that our MSDN Delphi/400 & Delphi/400 for PHP . 16 InstallShield 2008 Express . 14 customers have enjoyed access to the final release DB2, AS400 and Series-i products InstallShield 2008 . 11 of Visual Studio 2008 since November 2007, and MicroWay has products to assist with data JBuilder 2008. 17 JGear LiveSource. 17 have saved $000’s by ordering under a licensing replication, real-time XML translation and to make Keystone Training - .NET Complete . 2 scheme known as the “Open Business License”. integration and development faster for Windows LEADTOOLS Document Imaging Suite . 3 Nalpeiron Licensing Service . 24 If you don’t have an MSDN subscription, or are based developers & administrators working with NetAdvantage for .NET + WPF . 6 getting close to renewal time, you should check AS400/Series-i based data. See the Hit Ritmo and PrimalScript 2007 . 8 RadControls for ASP.NET . 8 out the benefits and huge savings on VS2008 and DBmoto products, as well as CodeGear’s new Ritmo/DB2 . 24 MSDN presented on page 7. MicroWay is the Delphi 400 in this edition.
    [Show full text]
  • A Survey of the Selenium Ecosystem
    electronics Article A Survey of the Selenium Ecosystem Boni García 1,* , Micael Gallego 2, Francisco Gortázar 2 and Mario Munoz-Organero 1 1 Department of Telematic Engineering, Universidad Carlos III de Madrid, Avenida de la Universidad 30, 28911 Leganés, Spain; [email protected] 2 Department of Computer Science, Computer Architecture, Computer Languages & Information Systems, Statistics & Operational Research, Universidad Rey Juan Carlos, Calle Tulipán S/N, 28933 Móstoles, Spain; [email protected] (M.G.); [email protected] (F.G.) * Correspondence: [email protected] Received: 3 June 2020; Accepted: 25 June 2020; Published: 30 June 2020 Abstract: Selenium is often considered the de-facto standard framework for end-to-end web testing nowadays. It allows practitioners to drive web browsers (such as Chrome, Firefox, Edge, or Opera) in an automated fashion using different language bindings (such as Java, Python, or JavaScript, among others). The term ecosystem, referring to the open-source software domain, includes various components, tools, and other interrelated elements sharing the same technological background. This article presents a descriptive survey aimed to understand how the community uses Selenium and its ecosystem. This survey is structured in seven categories: Selenium foundations, test development, system under test, test infrastructure, other frameworks, community, and personal experience. In light of the current state of Selenium, we analyze future challenges and opportunities around it. Keywords: automated software testing; web; selenium; software ecosystems 1. Introduction Selenium (https://www.selenium.dev/) is an open-source framework mainly used for testing web applications. It enables the impersonation of users interacting with browsers such as Chrome, Firefox, Edge, or Opera in an automated manner.
    [Show full text]
  • Studying and Comparing Automated Testing Tools; Ranorex and Testcomplete Neha Dubey, Mrs
    www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 3 Issue 5 may, 2014 Page No. 5916-5923 Studying and Comparing Automated Testing Tools; Ranorex and TestComplete Neha Dubey, Mrs. Savita Shiwani Department of Computer Science and Information Technology SURESH GYAN VIHAR UNIVERSITY, JAIPUR Abstract Testing automation tools enables developers and testers to effortlessly computerize the complete practice of difficult in software progress. The intention of this research paper is to carry out a comparing and studying the concepts, builds and features of automated tools such as the Ranorex and the Automated QA TestComplete based on criteria such as the hard work involved with generating test scripts, capacity to playback the scripts, end result reports, and expenditure. The elementary objective is to investigate the features and concepts supported by these two functional testing tools in order to access unconventionally what pros and cons of the tools and what could be the guidelines for its additional expansion. Keywords: Ranorex, Test Complete, Testing tools. 1. INTRODUCTION Automation testing covers all the problems of manual testing .Automation testing automates the The aim of software testing practice is to steps of manual testing using automation tools recognize every defect obtainable in a software such as Ranorex and TestComplete (TC) .It product. It is the process of exercising and increases the test execution speed, more reliable, evaluating a system or system components by repeatable, programmable, comprehensive, and means of manual automatic to validate that it reusable. satisfies particular necessities or to categorize Testing automation tools enables developers and differences involving predictable and definite testers to effortlessly computerize the complete consequences.
    [Show full text]