Conference Presentations

Mock Objects: From Concept to Code
Slideshow

Mock objects are simulated objects that mimic the behavior of real objects in controlled ways. Because many code modules interact with external entities-things like databases, networks, file systems, third-party frameworks, and even the clock-these entities often cause us big-time trouble during unit testing. These entities can slow down our unit tests, produce unpredictable results, and have dangerous side effects. The best unit tests are decoupled from these external entities. Rather than try to control the entities, you can create mock objects to simulate their functionality. With a tangible example in the form of a short play, Rob Myers introduces mock objects and provides a brief history of their "relatives"-stubs and fakes. Then, with an animated, nearly-worst-case example, Rob presents code he developed to "mock out" nasty dependencies and create safe, predictable unit tests.

Rob Myers, Agile Institute
Information Obfuscation: Protecting Corporate Data
Slideshow

With corporate data breaches occurring at an ever-alarming rate, all levels of organizations are struggling with ways to protect corporate data assets. Rather than choosing one or two of the many options available, Michael Jay Freer believes that the best approach is a combination of tools and practices to address the specific threats. To get you started, Michael Jay introduces the myriad of information security tools companies are using today: firewalls, virus controls, access and authentication controls, separation of duties, multi-factor authentication, data masking, banning user-developed MS-Access databases, encrypting data (both in-flight and at-rest), encrypting emails and folders, disabling jump drives, limiting web access, and more. Then, he dives deeper into data masking and describes a powerful data-masking language.

Michael Jay Freer, Quality Business Intelligence
Better Test Designs to Drive Test Automation Excellence
Slideshow

Test execution automation is often seen as a technical challenge-a matter of applying the right technology, tools, and smart programming talent. However, such efforts and projects often fail to meet expectations with results that are difficult to manage and maintain-especially for large and complex systems. Hans Buwalda describes how the choices you make for designing tests can make-or break-a test automation project. Join Hans to discover why good automated tests are not the same as the automation of good manual tests and how to break down tests into modules-building blocks-in which each has a clear scope and purpose. See how to design test cases within each module to reflect that module's scope and nothing more. Hans explains how to tie modules together with a keyword-based test automation framework that separates the automation details from the test itself to enhance maintainability and improve ROI.

Hans Buwalda, LogiGear Corporation
Back to the Basics: Principles for Constructing Quality Software
Slideshow

Using an analogy to the building codes followed by architects and contractors in the construction of buildings, Rick Spiewak explores the fundamental principles for developing and delivering high quality, mission-critical systems. Just as buildings are constructed using different materials and techniques, we use a variety of languages, methodologies, and tools to develop software. Although there is no formal "building code" for software, software projects should consider-and judiciously apply-the recognized "best" practices of static analysis, automated unit testing, code re-use, and peer reviews. Rick takes you on a deep dive into each of these techniques where you'll learn about their advantages, disadvantages, costs, challenges, and more.

Rick Spiewak, The MITRE Corporation
Cloud-based Testing: Flexible, Scalable, On-demand, and Cheaper
Slideshow

Cloud computing is here to stay-and it is changing the way we test software. Cloud-based testing offers flexible, scalable, and on-demand infrastructure services. And as a bonus, because the cloud offers pay-per-use purchasing options, cloud-based testing usually costs less. Tauhida Parveen describes the concept of cloud-based testing: scope, specific requirements, benefits, and drawbacks. She explains how cloud-based testing brings new capabilities and options for your testing activities-instantly creating and dismantling test environments and miming production environments in early testing. Tauhida discusses how to engineer scalable environments for load, stress, and performance testing. Then, she introduces cloud-based compatibility, cross-browser, and cross-platform testing opportunities you can exploit.

Tauhida Parveen, Independent Testing Consultant
It's a Phone First! How to Test Your Five-star Mobile Apps
Slideshow

Mobile application development shares many similarities-and some stark differences-with traditional web-based development. To build, test, and deploy five-star mobile applications, your organization needs-from inception-a focused test strategy to drive quality. Employing the wrong approaches and tools can leave your business sponsors and clients wondering what went wrong. Will Hurley outlines the current mobile landscape and explains what can and cannot be controlled in the mobile lifecycle. He explores the current landscape and limitations on tools for testing mobile apps, and offers guidance on what-and what not to-automate. With Will's guidance, you’ll learn how to establish a mobile lifecycle test strategy that is both leading edge and practical.

Will Hurley, Will Hurley - Quality and Security Services
Big Data and Quality

Big Data systems-those in which data sets grow so large that they become awkward to work with using traditional tools-are a huge problem for testers. To address the Big Data problem, testers must throw the traditional approach of creating and executing fixed test cases out the window. Ken Johnston and Reena Agarwal share how testing is changing and adapting within Microsoft on the Bing search platform and elsewhere. There, they are implementing sophisticated analysis techniques to validate system output and measure data quality. Join this leading edge session to learn what Big Data is all about and the technologies driving these new systems. Explore examples from different industries-including Big Data testing within Microsoft and Bing-and explore the new skills you and your team will need to test in the era of Big Data.

Ken Johnston, Microsoft Corporation
The Art of Designing Test Data

Test data generation is an important preparatory step in software testing. It calls for a tester’s creativity as much as test case design itself. Focusing on the type of testing to be performed and designing data to support it yields the greatest success in finding defects. For example, security testing largely requires negative test data to attempt to gain access to a system as a hacker would. Localization testing requires very specific test data in the areas of date, time, and currency. Rajini Padmanaban describes how test data generation is a reverse engineering process, where one first focuses on the end goal and then works back to determine what kind of data should be created. Rajini describes data sets for various types of testing, ideas to keep in mind in reusing test data, and sharing data across the product team to save time while not trespassing on the team’s creative thinking.

Rajini Padmanaban, QA InfoTech
Code Coverage in the Internet Age

With the proliferation of mobile devices, cloud computing, and client-side scripting-coupled with web services-how do you guarantee adequate code coverage for your applications? Basic tests inadequately cover many of these technologies, leading to defects and disappointing user experiences. Michael Portwood describes the importance of unit test coverage and then presents techniques, tips, and tricks to simplify the process of achieving more complete coverage for Internet-enabled solutions. Michael shares tips for automation and techniques for testing both client- and server-side scripting. Gain insight into identifying code requiring complex testing techniques and explore ideas for covering them. Michael describes complex testing situations-like those found in multi-threaded and distributed code-where test coverage alone may provide misleading results.

Michael Portwood, The Nielsen Company
Maslow's Hierarchy of Quality: Realigning Your Thinking

Maslow's Hierarchy of Needs is a popular model that describes the stages of human psychological development. Anu Kak shares how Maslow's work can be applied to align the quality thinking of a software development organization through a “Hierarchy of Quality.” This builds a quality-centric culture and enhances the quality of products before they are released while quickly learning from mistakes. Anu describes a path beginning at the basic needs for high quality-test plans, defects, regression tests, etc.-and progresses to define what is needed to achieve high levels of sustainable customer satisfaction. Anu describes how “self actualization” in customer quality can be achieved through the process of moving up the hierarchy of needs while sustaining the lower tiers of the model.

Anu Kak, PayPal, Inc.

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.