Sonar Code Quality Testing Essentials


Book Description

This is a step-by-step tutorial enriched with practical examples and the necessary screenshots for easy and quick learning. This book is for you if you are a Java developer or a Team Manager familiar with Java and want to ensure the quality of your code using Sonar. You should have a background with Java and unit testing in general.




SonarQube in Action


Book Description

Summary SonarQube in Action shows developers how to use the SonarQube platform to help them continuously improve their source code. The book presents SonarQube's core Seven Axes of Quality: design/architecture, duplications, comments, unit tests, complexity, potential bugs, and coding rules. You'll find simple, easy-to-follow discussion and examples as you learn to integrate SonarQube into your development process. About the Technology SonarQube is a powerful open source tool for continuous inspection, a process that makes code quality analysis and reporting an integral part of the development lifecycle. Its unique dashboards, rule-based defect analysis, and tight build integration result in improved code quality without disruption to developer workflow. It supports many languages, including Java, C, C++, C#, PHP, and JavaScript. About the Book SonarQube in Action teaches you how to effectively use SonarQube following the continuous inspection model. This practical book systematically explores SonarQube's core Seven Axes of Quality (design, duplications, comments, unit tests, complexity, potential bugs, and coding rules). With well-chosen examples, it helps you learn to use SonarQube's review functionality and IDE integration to implement continuous inspection best practices in your own quality management process. The book's Java-based examples translate easily to other development languages. No prior experience with SonarQube or continuous delivery practice is assumed Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Gather meaningful quality metrics Integrate with Ant, Maven, and Jenkins Write your own plugins Master the art of continuous inspection About the Authors Ann Campbellb and Patroklos Papapetrou are experienced developers and team leaders. Both actively contribute to the SonarQube community. Table of Contents PART 1 WHAT THE NUMBERS ARE TELLING YOU An introduction to SonarQube Issues and coding standards Ensuring that your code is doing things right Working with duplicate code Optimizing source code documentation Keeping your source code files elegant Improving your application design PART 2 SETTLING IN WITH SONARQUBE Planning a strategy and expanding your insight Continuous Inspection with SonarQube Letting SonarQube drive code reviews IDE integration PART 3 ADMINISTERING AND EXTENDING Security: users, groups, and roles Rule profile administration Making SonarQube fit your needs Managing your projects Writing your own plugins




SonarQube in Action


Book Description

Summary SonarQube in Action shows developers how to use the SonarQube platform to help them continuously improve their source code. The book presents SonarQube's core Seven Axes of Quality: design/architecture, duplications, comments, unit tests, complexity, potential bugs, and coding rules. You'll find simple, easy-to-follow discussion and examples as you learn to integrate SonarQube into your development process. About the Technology SonarQube is a powerful open source tool for continuous inspection, a process that makes code quality analysis and reporting an integral part of the development lifecycle. Its unique dashboards, rule-based defect analysis, and tight build integration result in improved code quality without disruption to developer workflow. It supports many languages, including Java, C, C++, C#, PHP, and JavaScript. About the Book SonarQube in Action teaches you how to effectively use SonarQube following the continuous inspection model. This practical book systematically explores SonarQube's core Seven Axes of Quality (design, duplications, comments, unit tests, complexity, potential bugs, and coding rules). With well-chosen examples, it helps you learn to use SonarQube's review functionality and IDE integration to implement continuous inspection best practices in your own quality management process. The book's Java-based examples translate easily to other development languages. No prior experience with SonarQube or continuous delivery practice is assumed Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Gather meaningful quality metrics Integrate with Ant, Maven, and Jenkins Write your own plugins Master the art of continuous inspection About the Authors Ann Campbellb and Patroklos Papapetrou are experienced developers and team leaders. Both actively contribute to the SonarQube community. Table of Contents PART 1 WHAT THE NUMBERS ARE TELLING YOU An introduction to SonarQube Issues and coding standards Ensuring that your code is doing things right Working with duplicate code Optimizing source code documentation Keeping your source code files elegant Improving your application design PART 2 SETTLING IN WITH SONARQUBE Planning a strategy and expanding your insight Continuous Inspection with SonarQube Letting SonarQube drive code reviews IDE integration PART 3 ADMINISTERING AND EXTENDING Security: users, groups, and roles Rule profile administration Making SonarQube fit your needs Managing your projects Writing your own plugins




Gradle in Action


Book Description

Summary Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to build a full-fledged, real-world project. Along the way, it touches on advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software. About the Technology Gradle is a general-purpose build automation tool. It extends the usage patterns established by its forerunners, Ant and Maven, and allows builds that are expressive, maintainable, and easy to understand. Using a flexible Groovy-based DSL, Gradle provides declarative and extendable language elements that let you model your project's needs the way you want. About the Book Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to establish an effective build process for a full-fledged, real-world project. Along the way, it covers advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software. The book assumes a basic background in Java, but no knowledge of Groovy. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. Whats Inside A comprehensive guide to Gradle Practical, real-world examples Transitioning from Ant and Maven In-depth plugin development Continuous delivery with Gradle About the Author Benjamin Muschko is a member of the Gradleware engineering team and the author of several popular Gradle plugins. Table of Contents PART 1 INTRODUCING GRADLE Introduction to project automation Next-generation builds with Gradle Building a Gradle project by example PART 2 MASTERING THE FUNDAMENTALS Build script essentials Dependency management Multiproject builds Testing with Gradle Extending Gradle Integration and migration PART 3 FROM BUILD TO DEPLOYMENT IDE support and tooling Building polyglot projects Code quality management and monitoring Continuous integration Artifact assembly and publishing Infrastructure provisioning and deployment




Gradle Essentials


Book Description

Master the fundamentals of Gradle using real-world projects with this quick and easy-to-read guide About This Book Write beautiful build scripts for various types of projects effortlessly Become more productive by harnessing the power and elegance of the Gradle DSL Learn how to use Gradle quickly and effectively with this step-by-step guide Who This Book Is For This book is for Java and other JVM-based language developers who want to use Gradle or are already using Gradle on their projects. No prior knowledge of Gradle is required, but some familiarity with build-related terminologies and an understanding of the Java language would help. What You Will Learn Master the Gradle DSL by identifying the building blocks Learn just enough Groovy for Gradle Set up tests and reports for your projects to make them CI ready Create library, stand-alone, and web projects Craft multi-module projects quickly and efficiently Migrate existing projects to a modern Gradle build Extract common build logic into plugins Write builds for languages like Java, Groovy, and Scala In Detail Gradle is an advanced and modern build automation tool. It inherits the best elements of the past generation of build tools, but it also differs and innovates to bring terseness, elegance, simplicity, and the flexibility to build. Right from installing Gradle and writing your first build file to creating a fully-fledged multi-module project build, this book will guide you through its topics in a step-by-step fashion. You will get your hands dirty with a simple Java project built with Gradle and go on to build web applications that are run with Jetty or Tomcat. We take a unique approach towards explaining the DSL using the Gradle API, which makes the DSL more accessible and intuitive. All in all, this book is a concise guide to help you decipher the Gradle build files, covering the essential topics that are most useful in real-world projects. With every chapter, you will learn a new topic and be able to readily implement your build files. Style and approach This step-by-step guide focuses on being productive with every chapter. When required, topics are explained in-depth to give you a good foundation of the Gradle fundamentals. The book covers most aspects of builds required for conventional JVM-based projects, and when necessary, points you towards the right resources.




Mastering Gradle


Book Description

With Gradle, you can efficiently build automation framework along with some flexible alternatives to customized build logic. This book starts with sound basics about build automation and how Gradle fits into this automation. It then moves on to give you a good exposure on Groovy—a scripting language used to write Gradle—and helps you understand a key elements of Groovy programming language. In the following chapters, you will deal with task management and learn how to integrate Ant tasks into build scripts. Furthermore, you will learn dependency management, plugin management, and its configuration techniques in Gradle. You will also get hands-on with building and testing projects using Gradle. You will then begin to cover diverse topics, such as Continuous Integration with Jenkins and TeamCity, Migration strategies, and Deployment, which enables you to learn concepts useful for Agile software development. Finally, you will also learn how to create a simple mobile application using Android and explore how Gradle can help you to build and test the application.




Modern Multithreading


Book Description

Master the essentials of concurrent programming,including testingand debugging This textbook examines languages and libraries for multithreadedprogramming. Readers learn how to create threads in Java and C++,and develop essential concurrent programming and problem-solvingskills. Moreover, the textbook sets itself apart from othercomparable works by helping readers to become proficient in keytesting and debugging techniques. Among the topics covered, readersare introduced to the relevant aspects of Java, the POSIX Pthreadslibrary, and the Windows Win32 Applications ProgrammingInterface. The authors have developed and fine-tuned this book through theconcurrent programming courses they have taught for the past twentyyears. The material, which emphasizes practical tools andtechniques to solve concurrent programming problems, includesoriginal results from the authors' research. Chaptersinclude: * Introduction to concurrent programming * The critical section problem * Semaphores and locks * Monitors * Message-passing * Message-passing in distributed programs * Testing and debugging concurrent programs As an aid to both students and instructors, class libraries havebeen implemented to provide working examples of all the materialthat is covered. These libraries and the testing techniques theysupport can be used to assess student-written programs. Each chapter includes exercises that build skills in programwriting and help ensure that readers have mastered the chapter'skey concepts. The source code for all the listings in the text andfor the synchronization libraries is also provided, as well asstartup files and test cases for the exercises. This textbook is designed for upper-level undergraduates andgraduate students in computer science. With its abundance ofpractical material and inclusion of working code, coupled with anemphasis on testing and debugging, it is also a highly usefulreference for practicing programmers.




Jenkins 2: Up and Running


Book Description

Design, implement, and execute continuous delivery pipelines with a level of flexibility, control, and ease of maintenance that was not possible with Jenkins before. With this practical book, build administrators, developers, testers, and other professionals will learn how the features in Jenkins 2 let you define pipelines as code, leverage integration with other key technologies, and create automated, reliable pipelines to simplify and accelerate your DevOps environments. Author Brent Laster shows you how Jenkins 2 is significantly different from the more traditional, web-only versions of this popular open source automation platform. If you’re familiar with Jenkins and want to take advantage of the new technologies to transform your legacy pipelines or build new modern, automated continuous delivery environments, this is your book. Create continuous delivery pipelines as code with the Jenkins domain-specific language Get practical guidance on how to migrate existing jobs and pipelines Harness best practices and new methods for controlling access and security Explore the structure, implementation, and use of shared pipeline libraries Learn the differences between declarative syntax and scripted syntax Leverage new and existing project types in Jenkins Understand and use the new Blue Ocean graphical interface Take advantage of the capabilities of the underlying OS in your pipeline Integrate analysis tools, artifact management, and containers




Mastering Salesforce DevOps


Book Description

This practical guide brings DevOps principles to Salesforce development. It fits together two major movements within the IT world: the movement to Software/Platform as a Service (SaaS/PaaS), and the DevOps movement. While SaaS and PaaS allow companies to invest in their core competencies rather than maintain their own infrastructure, the goal of DevOps is to optimize the process of delivering software innovation and value. The release of Salesforce DX in late 2017 unlocks the possibility of a true DevOps workflow on Salesforce. But DevOps is new to the Salesforce world and there is not a widespread understanding of its goals and methods, and so adoption of Salesforce DX is still in the early stages. Mastering Salesforce DevOps explains how to build a powerful and comprehensive DevOps workflow for Salesforce—allowing you to finally deploy the world's most innovative platform using the world's most effective and efficient techniques. It addresses the need for a comprehensive guide to DevOps for Salesforce, allowing teams to bring proven practices from the IT world to resolve the hardest problems facing Salesforce developers today. What You Will Learn Improve company performance and software delivery performance using Salesforce DX Translate DevOps concepts into the unique language and practices of Salesforce Understand why and how you can implement Salesforce DX to achieve greater productivity and innovation Enable continuous delivery on Salesforce Build packages and architect code so it can be deployed easilyAllow admins to participate in what has traditionally been a developer workflow Know the techniques for reducing the stress and risk of deploymentApply the full range of automated tests that can be used on Salesforce Who This Book Is for Salesforce developers, release managers, and those managing Salesforce development teams who need a guide to DevOps, and DevOps specialists who need to apply familiar concepts to Salesforce




Software Testing and Quality Assurance


Book Description

A superior primer on software testing and quality assurance, from integration to execution and automation This important new work fills the pressing need for a user-friendly text that aims to provide software engineers, software quality professionals, software developers, and students with the fundamental developments in testing theory and common testing practices. Software Testing and Quality Assurance: Theory and Practice equips readers with a solid understanding of: Practices that support the production of quality software Software testing techniques Life-cycle models for requirements, defects, test cases, and test results Process models for units, integration, system, and acceptance testing How to build test teams, including recruiting and retaining test engineers Quality Models, Capability Maturity Model, Testing Maturity Model, and Test Process Improvement Model Expertly balancing theory with practice, and complemented with an abundance of pedagogical tools, including test questions, examples, teaching suggestions, and chapter summaries, this book is a valuable, self-contained tool for professionals and an ideal introductory text for courses in software testing, quality assurance, and software engineering.