Far from being a mundane technical process, the art of creating fantastic software requires an ability to kindle a synergy. From upper management to content creators, the clear and present need in the software industry is to seek out & employ not only those who can identify and use their tools well, but also those who know how to win friends, as well as influence team members.
From testing graphical to browser based applications therefore, in addition to reviewing the modern trends, techniques, and tools de jur, my Software Management & Testing training opportunity also covers how to encourage team members to do their best. By combining field-tested techniques used to remedy defects found in multi-million dollar software systems with well known testing concepts, our mission is to equip each student with the insight and real-world experiences required to ensure both personal, as well as project, success.
Discover the "secret" to becoming a highly paid, sought-out, professional software industry rock star!
Discover what you will learn in this edition of Randall Nagy's popular "Software Management & Testing" training. Commonly known as "Testing Success," enjoy a high-level review of the first "IOP” Pattern all technologist must understand. Learn more about the training, as well as the tenure & impressive industry qualifications of your instructor.
Discover how testing requirements may expand to include other systems, expectations, as well as implied industry requirements. Discover what people mean when they use such terms as “Five Nines,” “DMZ,” “Retention,” “Persistence”, “SLA” as well as other industry-wide concepts.
Gain practical insight into the motivations and expectations of the key players involved in the software quality assurance process. Discover how to turn project antagonists into valued team members while reviewing the classic set of roles often required to support the modern software development process.
Discover how to pair testing activities with testing results while learning what “interfaces” are. Understanding the “Lego Effect” that can be used to chain computer programs together using such universal concept as standard input, output, and error.
Discover the secret & highly testable nature of all web-based applications. Discover what a “regression” is, as well as how they differ form “Bugs.” Learn what a "command processor" and a "shell" are, while discovering why the Python programming language is enjoying increasing support amongst modern software, system, & DevOps testers.
Enjoy a hands-on lab exercise that demonstrates how Python can be used to manage program output. Understand the difference between "built in" and "external" commands. Learn how to create, as well as to append, any program's console output to editable files.
Review the sources of error that often contribute to creating software and system defects. Understand how the realms where software operate can increase the scope of our testing efforts. Discover how to conduct a “Software Quality Review,” as well as gain insight into the typical testing & defect remediation life cycle.
Understand the key cultural requirements for creating excellent products. Understand what is meant by “granularity” while learning how to decompose requirements into testable activities. Discover the justification behind creating testing policies, as well as requirements enforcement. Review concepts related to System Complexity and Inter-operation.
The discussion of Complexity continues with the review of the classic “CQT” dilemma. Understand what software developers mean when discussing the “build -v- buy” options, as well as how generic solutions far too often rigidly dictate, rather than accommodate, company policies.
Understand the different realms where testing can occur. Learn how to triage testing activities so as to keep focused on the most relevant testing mission. Understand how the concepts of “testing width” and “testing depth” can work together to manage your iterative testing tasks. Understand the difference Unit, Integration, and System Testing.
Understand what a “framework” is. Enjoy a high-level definition of how “is a” and “has a” can impact longer-term testing plans. Review what an “adapter” is, as well as how adapters can manage test changes. Understand feature mocking, as well as mock objects. Review source-code level internal comments & documentation.
Review the three (3) key phases required to create automated test cases. Understand the trade-offs between automated, and manual testing. Discover more helpful hints on testing GUI's, as well as how to automate the testing of both graphical, as well as textual, testing chores.
Understand how creating a distinct “work in process” phase, as well as numbering scheme, can be important to overall testing success. Understand how the concept of “metatada” applies to artifacts created by testing activities. Discover how to associate multiple results with a single test case. Review the benefits behind one man's usage of the classic major, minor, and revision numbering scheme.
Understand the difference between pro-active, and re-active testing. Review the Five (5) distinct phases in the testing life cycle.
Review previously defined testing terms. Discover what “Component Testing,” "Smoke Testing" are. Understand the universal aspects of "Functional Testing." Learn what is meany by "Oracle Testing," as well as which technologies can be used to create testing oracles.
Review the more prevalent software testing technologies. Understand what the *Unit technologies do. Discover what popular technology supports the management of testing oracles. Learn what "Testing Stubs" and "Test Doubles" are, and how they are used. Learn how Test Spies, Fake Objects, Dummy & Fake Objects operate. Understand what "Edge Conditions” are, as well as how to locate, document, & test them.
Learn the difference between static and active documentation. Discover how companies decompose documents into testing requirements. Apply requirement gathering concepts so as to define your own testing strategy.
Learn the difference between testing strategy & tactics: Understand how to use past, present, and future analysis to help create testing plans. Learn how to perform a gap analysis.
Discover how to
conduct a software quality review. Understand how “being tested”
or “being done” can be difference from being “feature complete”
or “correct.” Learn more about the trends in documentation
maintenance in the modern software world. Review the importance of
mapping feature requests to test plans, as well as content delivery.
Understand the need for recovery, restart, and security testing.
Review the IEEE / ANSI definition of Software Reliability. Understand the difference between operational "stimulation" -v- "simulation." Review the decomposition of two simple requirements as used in future sessions. Learn how to apply the "IOP" model so as to help add more detail to requirements. Understand the difference between "Correctness," "Confidence," and "Error Free."
Delve deeper into the testing process so as to learn how to create a testing policy as well as process. Discover which type of testing activities can be exchanged between software developers and testers. Understanding difference between testing, verification, aw well as validation activities. Learn how to create plans to track, monitor, & manage testing operations. Discover how to determine if work on a software or system under test has been completed.
Discover the basics of creating a UML Activity Diagram. Learn how Flowcharts relate to UML Activities. Understand guard conditions, activities, and entry / exit points. Enjoy a step-by-step review of a requirement fulfillment activity.
Review the detailed (low level) steps required to create a Test Case. Discover the three "flows" to document for any Test Case. Review a comprehensive set of Design Artifact & related Testing Terms. Complete a Lab Exercise designed to help students create a Test Case. Understand the difference between a Model, Specification, Code, and Practice-based Test Case.
Review the topical summary and learning objectives as presented in the "Browser Testing" presentations.
Review the testing pattern required to reliably test Web Services. Review how JAX-RPC, SOAP, REST, and BEST operate. Learn the basic HTTP verbs used to requesting server information. Discover the difference between an HTTP "GET" and an "POST." Discover the testable need for using the standard RFC response-codes.
Complete a Lab Exercise designed to familiarize the student with "Gap Analysis," as well as to identify "Critical Paths" through any testing activity.
Understand the history of HTML. Discover why XHTML failed. Learn the key advantages of HTML 5. Discover what a “Style-Sheet” is. Discover what Local & Remote Browser Sessions are. Understand how the new “applicaitonCache” can support responsive web designs. Review the new HTML 5 Layout capabilities. Learn about the more noteworthy HTML5 tags and CSS3 style attributes.
Complete a Lab Exercise designed to allow the student to have hands-on experience with HTML5's new "Drag & Drop" capabilities.
Discover how Regular Expressions can ease data verification chores. Review the complete set of Regular Expression sequences & encoding. Learn how to use Regular Expressions under JavaSript. Review RE's validation techniques in HTML. Discover meta-characters and encoding techniques.
Review the concepts to be covered. Understand the difference between “Code Coverage” and “Data Coverage.”
Discover how Testing Surfaces relate to traditional Black & White Box Testing. Learn when to move back and forth between white, gray, and black-box testing approaches. Understand how to prioritize testing activities. Discover how to increase code-coverage so as to cover edge conditions, as well as parameter testing.
Finally, review the benefits of freezing code. Understand how work can continue even while code is being tested.
Consider the cross-role support required to manage change.
Understand when to use "Acceptance Testing." Review a list of common "Acceptance Criteria" which can be used to manage quality reviews. Discover how Service Testing can easily support several types of testing activities.
Understand the dependencies between System & other testing types. Learn how to apply Alternate Flows so as to manage testing success. Discover when to move from black to gray, then to white-box testing. Review Black, White, and Grey-Box testing triggers & justifications.
Enjoy a multi-part lab designed to allow the student to define a black, gray, or white-box approach for their own SUT. Particle what you have learned by defining a testing & acceptance plan.
Review the definition of software quality as previously defined. Understand what to look for when reviewing source code. Discover how domain-noun naming conventions can help ease testing & maintenance. Review the key elements of quality for overall System acceptance. Discover the difference between Correctness, Completeness, and Consistency.
Review the definition of Requirements, Behavior, & Reliability as previously defined. Review and implementation of previously defined requirements.
Enjoy an optional opportunity to install Python & test an implementation of R1000.
Review different SUT Observational States & Operational Plans. Learn how to create "probability paths" to triage testing requirements. Discover how to mathematically prioritize testing activities. Discover how to create operation state & transition maps & simplified state diagrams. Learn how to create an operational profile. Enjoy a step-by-step review of creating a Profile for R2000.
Learn how to chart control-flow within source code. Understand how to create maps of execution. Discover how to justify the elimination of untestable code. Understand what a code "signature" is, and why they are important. Understand how to leverage "signatures" as testing contracts. Understand how to preserve obsolete "code contracts" as code changes.
Review a real-world test of an open source Java Project: Discover the default coordinate system use by all modern graphical applications. Understand how changing mathematical slopes required edge-condition testing to drive software development. See how test cases can remain whenever a signature hides implementation details.
Understand what "Encapsulation" is, as well as how encapsulation relates to testing interfaces. Review how GUI comparisons can be equal over multiple test runs.
Review a real-world set of projects that practices, technologies & challenges. Review the “bottom-up” testing strategy difference between "Agile" and "Waterfall" Testing. Discover "Continuous Integration" & how often differs from the classical testing model. Consider the unspoken world of Implicit Regulatory Requirements. Enjoy the re-telling of a testing success that lead to the creation of a flag-ship monitoring, notification, and graphical reporting system.
Enjoy the retelling of how installing virus software into the DMZ cost one company $60 million dollars. Appreciate how the follow-on solution to this testing success allowed for a resalable stand-alone program to be re-sold as a service.
Enjoy the retelling of how Web Service Testing evolved into a Testing Framework. Discover the need to have both production, as well as testing & developer domains. Understand how SLAs required resold-services to be dynamically feature-manged. Related research concepts include SOAP, REST, and BEST Service Strategies.
Enjoy the retelling of a waterfall - Agile Project approach of migrating HIPPA data to Amazon Web Services (AWS.) Understand the key challenges of certifying the SUT was compatible with implicit Industry Regulations. Review how test cases eventually came to fulfill the need of data security & operational scalability. Understand how using Amazon's Spot Servers to reduce cost associated with testing as scale.
Review the highlights of Collaboration & Work-flow Management Systems. Discover the clear and present trends in the collaboration management systems. Enjoy the name-dropping of some of the most popular collaborative systems in the world today. Enjoy a role-based review of team-collaboration software. Discover why flexible approaches & templates allow for the best-of-breed support.
Discover the key features to look for when selecting a Source Code or Artifact Management System. Understand why instant messaging is a collaboration feature that should be used cautiously. Discover the challenge of having a public, private, and protected (group) research numbering system. Understand the need for message filtering, as well as content-centric messages and events. Discover the need for any single team member to have separate & distinct role-based logins. Enjoy a role-based review of the most applicable collaboration management features. Understand what lifecycle "events" are, and why they are important.
Review the authors most-desired (& uncommon!) reporting / monitoring services. Discover the need to track the velocity, as well as difficulty & role-based trends and plotting. Understand the need for a “3D” process management view as extracted from simple & daily requirement-number logging. Discover the need to determine if events messages have been received, as well as “de-bounced.” Review the manager's eye view of 2nd & 3rd level reporting & artifacts.
Review the high-level list of best testing practice recommendations. Understand then need for creating whimsical monikers to refer to previous design & requirement scenarios. Begin to appreciate how the need to understand is more important than the need to pedantically create marginally read project documentation. Reinforce the need for having an informal numbering scheme for captivating the informal requirement gathering process. Review the list of 4 main SME to keep close in our testing plans.
Understand what the term “Spear-point Testing” means. Understand the concept of Parity. Learn how Parity can improve team moral and company prosperity. Discover the “Golden Rule of Friendship.” Understand how applying “Quid Pro Quo Parity” can help improve project morale. Discover the power of impromptu & informal testing practices. Understand how need for “code freezing” does not necessarily prevent content creators from working. Understand the need for conducting protected, as well as personal, note-taking & research.
Understand the importance of a testing "mission statement." Discover the "consultants view" of testing success. Review the differences, as well as similarities, between pro-active and re-active testing. Understand what a “Testing Prescription" is. Learn how to create a Testing Prescription. Discover how to transition from re-active to pro-active testing plans. Understanding the importance of the "Tool & Technology" SME. Understand the need for creating a "Magic Three" Executive Summary.
Consider tips on gathering, prioritizing, as well as summarizing multi-SME commentary. Understand the need to document software success whenever formally reporting upon testing failure. Understand the need to cleanly define key Systems, Services, and Software Review key techniques required to build stakeholders & improve project morale.
Review the "When" as often involved in the final testing prescription. Discover what to include when creating a single-page - or informal – Testing Prescription. Enjoy the review of key concepts and presentation highlights. Enjoy the beginning of the “Closing Concepts” Session. Consider how generic mindsets & product insights often create generic product results.
Understand What Business Rules are. Understand both by whom, as well as how Business Rules might be created. Discover how to create "When Then" Statements. Appreciate the need to decompose Business Rules into testable technical groups.
I've over 30 years of experience.
"Mr. Nagy presently earns his keep in the world by providing technology mentoring, training, hands-on consulting / software development, & customized content creation services.
Mr. Nagy has served as both a Principal Trainer & Principal Software Development Engineer. His "Linked In" recommendations testify to a 30+ year track record of excellent personal communication skills, design & analysis abilities, as well as superior consulting & training results.
Though tenured, Mr. Nagy is most often described as being extremely technical, yet very personable & easy to get along with.
The author of over 26 Open-Source Projects, Mr. Nagy's hands-on experience includes topics such as C/C++, Python, SO / SOA, Security, Testing, UML, Java/JEE, .NET (C# and VB.NET), LAMP, Hadoop, jQuery, HTML 5, Android, and more. Maintaining techniques in embedded engineering, Mr. Nagy has experience creating custom training for such expert-level, high-performance technologies as IBM Rhapsody.
Technically speaking, "... from the best Service-Oriented practices to embedded engineering, I maintain an extensive hands-on skill set. From Java and C/ C++, C#, PHP, Python, Ruby, HTML 5 and Web 2.0, I have both designed and implemented architectures from the UI / RIA to the server, well into the RFC Layer. …
I also have over 150 successful training / mentoring, publication, and speaking engagements to my credit. Recent experience includes such state-of-the art technologies as Hadoop, Android, WSO2, and TFS."