Development Testing

Subscribe to Development Testing: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Development Testing: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Development Testing Authors: Karthick Viswanathan, Julia Chernykh, Gary Kaiser, Plutora Blog, Elizabeth White

Related Topics: Development Testing

Blog Feed Post

Software Development Testing and QA Strategies to Compete in Parasoft March Mayhem

MARCH_MAYHEM_ATWhile the sporting world may be preparing for a certain college basketball tournament, we’re preparing for a bout of month-long madness of our own.

Next month, we’re kicking of March Mayhem: four weeks of all the crucial software testing information you can handle, culminating in a showdown between the top development testing strategy versus the top QA activity.

Before we can fill out our March Mayhem bracket, we need to narrow down the tournament to the Great Eight activities. Visit our survey page to vote for your top software quality strategy—the one that you and your team could not live without. 

Your Guide to the Championship Contenders for "Top Software Development Testing and QA Strategies"

Not sure which practice you want to champion? This guide provides a brief overview:

Development Testing Conference 

  • Static analysis: Compare your code to known best practices. Static analysis tools report a violation when your code deviates from safe, secure, and reliable constructions. This helps you expose defects and help prevent future defects with minimal disruption.

  • Unit testing: Verify that the code does what it’s supposed to do. Tests can be saved and reused as part of a regression test suite. Some level of test maintenance is required.

  • Coverage analysis: This technique tells you how much of your code is actually tested when you run your test suite. Coverage analysis is a requirement for safety-critical applications, but has value way beyond cars, insulin pumps, and airplanes.

  • Metrics analysis: This technique measures your software’s properties, such as code complexity and execution time, to help you understand where potential areas of concern may exist. How important is metrics analysis? Important enough to be used by the US military, NASA, and other institutions. After all, you can’t improve what you can’t measure. 

  • Peer code review: Getting an extra set of eyes on your code is widely considered one of the most effective ways to prevent defects. Automated peer review triggered via policy cuts down streamlines the review process.

  • Runtime error detection: Some software defects, such as race conditions, exceptions, and resource and memory leaks, only emerge when you execute the application. This technique helps you find them.

QA Conference

  • API testing: Determine whether the APIs you produce and consume are secure, reliable, and scalable. Generate tests by monitoring live application traffic or analyzing key application resources, add validations, and you're all set or continuous regression testing. 

  • Integration testing (a.k.a. end-to-end testing): You've tested each of your APIs and endpoints individually, but are you confident that they'll play well together as a team? From the messaging layer, to the web UI, to the database, ESB, and mainframes, validating complete end-to-end transactions helps you assess whether business and security-critical transactions meet expectations.

  • Service virtualization: Continuous testing often requires on-demand access to a complete, realistic test environment, but such access can be extremely difficult to achieve with today’s increasingly complex and interdependent applications. Service virtualization changes that by simulating dependencies (3rd-party applications, databases, mainframes, services that not yet completed, etc.) so you can access a complete test environment—anytime, anywhere.

  • Test environment management:  Just like that outstanding athlete who can just "make it happen," test environment management gives you immediate access to the specific environment instances you need for testing. Simply selecting the specific environment configurations you want, then instantly stand up the environment that lets you start testing immediately. 

  • Load/performance testing: Your existing API and end-to-end test cases can do double-duty by helping you verify application performance and functionality under heavy load. Beyond monitoring the server’s response rate with the specified number and mixture of simultaneous requests, also assess whether functionality problems occur under load.

  • API security testing: Failure to take API security seriously could be as dangerous as leaving the opponent's star 3-point shooter undefended. Avoid attacks through penetration testing, hybrid security analysis, runtime error detection, and execution of complex authentication, encryption, and access control test scenarios. 

What’s Next?

Once the Great Eight testing activities have been selected, we’ll begin the March Mayhem tournament with a series of webinars and voting according to the following schedule:

  • March 12: Great Eight March Mayhem brackets announced

  • March 19: Dev Testing & QA Match Up #1 & #2

  • March 24: Dev Testing & QA Match Up #3 & #4

  • March 26: Dev Testing & QA Final Match Up Announced

  • March 31: March Mayhem Testing Madness Finals

Read the original blog entry...

More Stories By Wayne Ariola

Wayne Ariola is Vice President of Strategy and Corporate Development at Parasoft, a leading provider of integrated software development management, quality lifecycle management, and dev/test environment management solutions. He leverages customer input and fosters partnerships with industry leaders to ensure that Parasoft solutions continuously evolve to support the ever-changing complexities of real-world business processes and systems. Ariola has more than 15 years of strategic consulting experience within the technology and software development industries. He holds a BA from the University of California at Santa Barbara and an MBA from Indiana University.