Tag Archive for: Agile

Automotive Cybersecurity with ISO/SAE 21434 and UNECE (Webinar May 2020)



What is Exploratory Testing? Its Role in Agile Software Development


Exploratory testing can be defined as the simultaneous test designing and execution process. Unlike “traditional” testing methods, it does not restrict testing to a predefined set of instructions. Rather it encourages the tester to explore and discover potential testing cases in any application.

For instance, a software tester can create a test “idea” at the start and then explore the target application to create additional tests for successfully testing the application. With minimum planning, software testers can use their expertise to determine their next action step “on the fly.”

Why is exploratory testing gaining importance for today’s application development? Today, application companies demand continuous testing and integration to meet changing customer expectations and market demands. A structured approach to software testing (based on defining set test cases) is no longer adequate. With exploratory testing, testing teams can now convert a “user story” (with a sequence based on user persona) into a test case.

How does this type of testing elevate Agile? Let’s explore next.

Source…

The Sweet Science of Agile Software Development


Veteran software developer David A. Kruger offered some thoughts on computer security recently at Expensivity and we appreciate the opportunity to republish them here as a series. Yesterday’s discussion focused on putting a lid on risks. Today’s discussion looks at the sweet science of agile software development — proactive, not reactive responses.

Agile Software Development, Known Art, and Updates to the Rescue

The “get out of it one piece of software and data at a time” requirement seems daunting, if not impossible, but it isn’t as bad as it sounds due to agile software development, the availability of “known art,” and the speed at which large-scale software changes propagate via the Internet.

David A. Kruger

A key attribute of agile software development is frequently releasing incremental improvements at short intervals, which is why we all experience a constant stream of software updates and patches. It is utterly routine for software makers to implement small to very large-scale changes to tens of millions of instances of their software overnight. To speed new capabilities to market, agile development relies heavily on prepackaged code developed by third parties, especially for functions that are common to all software, and that span across differing software architectures and programming languages. Creating, storing, transporting, and processing data are common to all software. The phrase “known art” above and below means there are multiple sources of prepackaged code that can enable the shift to controllable data to be quickly implemented in existing and new software. The key point is this:

Key Point: No new technology must be invented to shift software from creating open data to creating controllable data.

As a person whose first professional software development job in 1986 was to design and build accident analysis software for transportation safety experts, and who has been working with software developers ever since, I do not want to trivialize the amount of work required to shift the digital world from open data to controllable data and from partial authentication to full scope authentication. It will cost tens of billions…

Source…