Learn to code from scratch with the latest and greatest tools and techniques.
Enroll NowFrom Photoshop to After Effects, learn professional creative tools from the experts.
Enroll NowSnag unlimited access to 1,000+ courses for life — now just $99 with this deal!
View DealThis omnibus packs three powerful and versatile testing technologies, as well as a host of underlying theory and fundamental principles
Section One: Sikuli
SikuliX is very unusual - a scripting/automation technology that relies on pattern matching, and is available for use via Python or Java. Developed at the User Interface Design Group at MIT, is a powerful and easy-to-use technology that uses image recognition to automate just about anything that appears on-screen.
Sikuli is rather hard to slot - it offers all of the functionality of an automation or scripting tool, but it also offers some powerful and very novel image-matching functionality for truly novel use-cases that revolve around image search. In addition it has an OCR-mode, in which image matches are performed after converting those image patterns to text. This gives rise to some pretty new applications.
The OCR-functionality is powered by Tesseract, an open-source optical character recognition engine whose development is sponsored by Google.
Section Two: Selenium
Selenium is a specialized, easy-to-use framework for automating interactions with web browsers, whether it’s to test the functionality of web apps that you’ve developed or to automate boring and repetitive tasks or to perform activities like scraping websites.
In this course, we’ll be working with Selenium’s Java API to test browser functionality and automate tasks using nearly 45 solved examples of use cases you might encounter on a regular basis. We’ll look at scenarios like
1) scraping websites for specific elements identified by HTML tags, CSS selectors
2) Testing User interactions of all kinds as click, entering text, drag and drop, selecting from dropdowns
3) Automating Browser Navigation and Handling cookies
4) Switching between your main browser window and pop-up alerts, embedded iframes
5) Interacting with HTML5 based elements like video players
6) and Parallelly running tests across multiple browsers and platforms from your local machine using Selenium Grid
Selenium makes automating all the tasks we’ve mentioned very straightforward but as your tasks get more and more sophisticated you’ll want to use best practices to structure your code. We’ll talk about the Page Object Model design pattern and how you can use it to design testing scripts that are easy to maintain.
Section Three: JUnit
JUnit is one of a family of unit testing frameworks all built with the same philosophy. To abstract the programmer away from the mechanics of running tests. You concentrate on testing the functionality of the application, and the logistics of running, monitoring and displaying results is taken care of by the framework.
In this course, we’ll be writing simple tests using all the different features of JUnit tests. Using 25 solved examples, you'll get a complete overview of the JUnit framework and all the functionality within.
What's covered?
1) Assertions : the fundamental component of any Junit test
2) Matchers : Write complicated tests in a very readable way. Implement your own custom matchers
3) Assumptions : Check for preconditions and external dependencies
4) Fixtures : Setup and Cleanup for your tests
5) Runners : Understand what goes on under the hood in JUnit. Use different runners to run multiple test classes with different conditions and parameters
4) Mockito : Understand the concept of mock objects and use the Mockito framework to run tests on interdependent classes.
Section Four: Principles and Foundations of Testing
1) Systems Development Life Cycle (SDLC) and Testing
2) Static Testing and Dynamic Testing
3) Black-box and White-box testing
4) Coverage metrics
Loonycorn is comprised of a couple of individuals —Janani Ravi and Vitthal Srinivasan—who have honed their tech expertises at Google and Stanford. The team believes it has distilled the instruction of complicated tech concepts into funny, practical, engaging courses, and is excited to be sharing its content with eager students.