Testing with JUnitJUnit has matured to become the most important tool when it comes to automated developer tests in Java. Supported by all IDEs and build systems, it empowers programmers to deliver software features reliably and efficiently. However, writing good unit tests is a skill that needs to be learned; otherwise it's all too easy to end up in gridlocked development due to messed up production and testing code. Acquiring the best practices for unit testing will help you to prevent such problems and lead your projects to success with respect to quality and costs.
This book explains JUnit concepts and best practices applied to the test first approach, a foundation for high quality Java components delivered in time and budget.
From the beginning you'll be guided continuously through a practically relevant example and pick up background knowledge and development techniques step by step. Starting with the basics of tests organization you'll soon comprehend the necessity of well str ...
Software TestingExplores and identifies the main issues, concepts, principles and evolution of software testing including software quality engineering and testing concepts, test data generation, test deployment analysis, and software test management.
This book examines the principles, concepts, and processes that are fundamental to the software testing function. This book is divided into five broad parts. Part I introduces software testing in the broader context of software engineering and explores the qualities that testing aims to achieve or ascertain, as well as the lifecycle of software testing. Part II covers mathematical foundations of software testing which include software specification, program correctness and verification, concepts of software dependability, and a software testing taxonomy. Part III discusses test data generation, specifically, functional criteria and structural criteria. Test oracle design, test driver design, and test out ...
Web Penetration Testing with Kali Linux, 2nd EditionKali Linux 2.0 is the new generation of the industry-leading BackTrack Linux penetration testing and security auditing Linux distribution. It contains several hundred tools aimed at various information security tasks such as penetration testing forensics, and reverse engineering.
At the beginning of the book, you will be introduced to the concepts of hacking and penetration testing and will get to know about the tools used in Kali Linux 2.0 that relate to web application hacking. Then, you will gain a deep understanding of SQL and command injection flaws and ways to exploit the flaws. Moving on, you will get to know more about scripting and input validation flaws, AJAX, and the security issues related to AJAX.
At the end of the book, you will use an automated technique called fuzzing to be able to identify flaws in a web application. Finally, you will understand the web application vulnerabilities and the ways in which they can be exploited using the tools in ...
Selenium Testing Tools Cookbook, 2nd EditionThis book is an incremental guide that will help you learn and use the advanced features of the Selenium toolset including the WebDriver API in various situations to build a reliable test automation. You start off by setting up the test development environment and gain tips on the advanced locater strategy and the effective use of the Selenium WebDriver API.
After that, the use of design patterns such as data - driven tests and PageFactory are demonstrated. You will then be familiarised with extending Selenium WebDriver API by implementing custom tasks and setting up your own distributed environment to run tests in parallel for cross-browser testing.
Finally, we give you some tips on integrating Selenium WebDriver with other popular tools and testing mobile applications. By the end of this book, you will have learned enough to solve complex testing issues on your own. ...
High Performance Android AppsUnique and clever ideas are important when building a hot-selling Android app, but the real drivers for success are speed, efficiency, and power management. With this practical guide, you'll learn the major performance issues confronting Android app developers, and the tools you need to diagnose problems early.
Customers are finally realizing that apps have a major role in the performance of their Android devices. Author Doug Sillars not only shows you how to use Android-specific testing tools from companies including Google, Qualcomm, and AT&T, but also helps you explore potential remedies. You'll discover ways to build apps that run well on all 19,000 Android device types in use.
Understand how performance issues affect app sales and retention; Build an Android device lab to maximize UI, functional, and performance testing; Improve the way your app interacts with device hardware; Optimize your UI for fast rendering, scrolling, and animations; Track down memory leaks and CPU ...
Penetration Testing with Raspberry PiThe Raspberry Pi is a low-cost credit-card sized computing system that can be customized for just about anything including penetration testing. Raspberry Pi is the best known platform not because it is cheap but because it is very powerful. Kali is a pentesting/security auditing Linux distribution. Kali Linux has many penetration-testing programs, including nmap (a port scanner), Wireshark (a packet analyzer), John the Ripper (a password cracker), Aircrack-ng (a software suite for the penetration-testing of wireless LANs), and Burp suite and OWASP ZAP (both web application security scanners).
This book covers how to turn a Raspberry Pi into a hacking arsenal to leverage the most popular open source toolkit, Kali Linux. You will learn how to use various tools to breach networks and steal data. ...
Pragmatic Unit Testing in Java 8 with JUnitPragmatic Unit Testing in Java 8 With JUnit steps you through all the important unit testing topics. If you've never written a unit test, you'll see screen shots from Eclipse, IntelliJ IDEA, and NetBeans that will help you get past the hard part—getting set up and started.
Once past the basics, you'll learn why you want to write unit tests and how to effectively use JUnit. But the meaty part of the book is its collected unit testing wisdom from people who've been there, done that on production systems for at least 15 years: veteran author and developer Jeff Langr, building on the wisdom of Pragmatic Programmers Andy Hunt and Dave Thomas.
You won't just learn about unit testing in theory - you'll work through numerous code examples. When it comes to programming, hands-on is the only way to learn! ...
Testing with F#Starting with an introduction to the concepts behind test automation, you will learn how to set up your test environment for unit testing and how to execute your test suite within and outside of Visual Studio. Using different test frameworks as MSTest, NUnit, and xUnit, you will learn how to write tests in isolation, create test doubles with Foq, and write expressive assertions with FsUnit.
You will learn techniques used to mock database contexts, test stored procedures, use migrations to test databases in isolation, control a web browser with Canopy, and test web services with F# interactive. You will learn how these techniques apply to Agile principles and discover how testing fits into your project. ...
PhantomJS CookbookBeginning with the basics of PhantomJS, this book will dive into its core modules and guide you through how to solve real-world testing problems. This book explores a variety of test automation tasks, including executing JavaScript unit tests with the Jasmine, QUnit, and Mocha frameworks; functional tests with tools such as Selenium, Capybara, and CasperJS; performance analysis with tools such as YSlow; and much more.
If you are a web developer looking to run automated unit tests while you work, or perhaps you are a QA engineer looking for a fast test automation utility, then this book is perfect for you. Some prior knowledge of JavaScript would be helpful. ...
Penetration TestingPenetration testers simulate cyber attacks to find security weaknesses in networks, operating systems, and applications. Information security experts worldwide use penetration techniques to evaluate enterprise defenses.
In Penetration Testing security expert, researcher, and trainer Georgia Weidman introduces you to the core skills and techniques that every pentester needs. Using a virtual machine–based lab that includes Kali Linux and vulnerable operating systems, you'll run through a series of practical lessons with tools like Wireshark, Nmap, and Burp Suite. As you follow along with the labs and launch attacks, you'll experience the key stages of an actual assessment-including information gathering, finding exploitable vulnerabilities, gaining access to systems, post exploitation, and more. ...
Building Virtual Pentesting Labs for Advanced Penetration TestingA penetration test, also known as pentest, is a method of assessing computer and network security by replicating an attack on a computer system or network from the outside world and internal threats. With the increase of advanced hackers and threats to our virtual world, pentesting is an absolute necessity.
Building Virtual Pentesting Labs for Advanced Penetration Testing will teach you how to build your own labs and give you a proven process to test these labs; a process that is currently used in industry by global pentesting teams. You will also learn a systematic approach to professional security testing building routers, firewalls, and web servers to hone your pentesting skills. ...