Jump-starting with TDD

Test-driven development (TDD) is one of the most desirable skills among software developers today and rumor is that within a few years developers without this skill will be unemployable [1]. There have been many books and presentations at conferences about its core concepts, but they rarely guide developers as to how to adopt it. This article will serve as a guide for learning more about TDD – whether you are an absolute beginner or already have some experience with TDD.

Read More

Load Testing at Netflix: Virtual Interview with Coburn Watson

I exchanged several e-mails with Coburn Watson (@coburnw), Cloud Performance Engineering Manager at Netflix, and he was kind enough to share with me some very interesting information about load testing at Netflix. I believe that this information is too valuable to keep hidden and decided to share it in the form of a virtual interview (of course, after asking Coburn’s permission).

Read More

TDD – a paradigm shift within the software development process for the Agile Environment

Test-driven development is a mechanism for designing software. By using this development style, developers first gather requirements and then formulate and implement a set of executable tests that completely characterize those requirements, and finally those tests are executed, one by one, by writing the requisite target application software. Test-driven development (TDD), is also referred to as test-driven design, because it adheres to and works based only on the underlying concept “get something working now and perfect it later”. Test-driven development (TDD) is considered to be a novel approach to software engineering because it consists of short development iterations in which the test case(s) covering a new functionality are designed first and then the necessary implementation code to pass these tests is implemented afterwards. Finally the correctness of the code is verified by performing similar tests against the same test cases. Further, in the subsequent phases, the identified defects are fixed and components are refactored to accommodate changes. This process is iterated as many times as necessary until each unit is functioning according to the desired specifications.

Read More

Test-Driven Development: Good or Bad?

The theme of this Agile Record is “test-driven development”. TDD is a method of learning while writing clean, maintainable, highquality code. A topic I hear and read a lot about, but do not really know from experience. I have not encountered test-driven development in the projects I have been in. That might say something about the projects I have seen. Or maybe it is not used that much? As a test expert with a programming and test automation background, unit testing in general and TDD in particular interest me a lot!

Read More

Failing Fast

There is an intriguing question that pops up frequently in organizations that develop software in projects: “When is a project successful?” For sure, one of the most (mis)used resources on the subject is the Standish Group. In their frequently renewed CHAOS Report they define a project successful if it delivers on time, on budget, and with all planned features. For a number of reasons this is, in my opinion, a rather vague definition.

Read More

Welcome to the new Agile Record!

You might have wondered what the meaning behind the “Big changes coming” banner on the Agile Record home page was. The new format of Agile Record magazine Agile Record will still be the same magazine, but now in a new format: We

Read More

Attitude-Driven Development

If we think about the basic reality, is this agile practice implemented 100% successfully without any issue(s)? The answer is a big ‘NO’. In my opinion, ‘attitude’ is the main factor blocking the successful implementation of TDD. Here in this article we are going to see WHY and HOW attitude is blocking TDD. This is explained based on the response/reaction of the developer’s and tester’s minds at the time of the TDD activity, which I correlated with spiral dynamics. We are also going to see why we should call TDD Attitude-Driven Development and how a scrum master should handle different challenges and situations in order to arrive at a SUCCESSFUL TDD.

Read More

Security Testing Using Infrastructure-As-Code

Infrastructure-As-Code means that infrastructure should be treated as code – a really powerful concept. Server configuration, packages installed, relationships with other servers, etc. should be modeled with code to be automated and have a predictable outcome, re-moving manual steps prone to errors. That doesn’t sound bad, does it?

Read More

Advanced Product Owners

We are going to argue that the normally defined role of Product Owner (PO) is inadequate for projects that have serious multiple quality requirements, and consequent architecture processes, to deliver the necessary levels of performance and quality.

Read More

Cross-Site Scripting Attack (XSS) – A Major Security Threat for Agile Environments

The most effective way to get rid of XSS vulnerabilities is to ensure that developers understand the dangers of XSS attacks and have tools that both rescue and allow them to create secure web applications without hindering their productivity.

Read More