background preloader

Developer Testing

Facebook Twitter

ATDD vs. BDD vs. Specification by Example vs .... At Agile 2010, there were about 20 of us at the AA-FTT (Agile Alliance Functional Test Tools) workshop.

ATDD vs. BDD vs. Specification by Example vs ....

The emphasis was on “the state of the practice” of Acceptance Test Driven Development (ATDD). In one of the breakout sessions, we had an interesting discussion on what we actually meant by ATDD, which made me think a lot about the practice itself. Although we all knew that acceptance tests defined by the customer / business expert is what drives the TDD (test driven development) process, there were discrepancies in how each of us thought of full process. JB Rainsberger had considered ATDD as two concentric circles with TDD, the developer practice of Test Driven Development, to be the center, with ATDD surrounding it.

I felt his view of the practice was from a developer perspective – give me an example, and I will start coding. Part of the problem is that we don’t all use the same vocabulary relating to the practice. Design Tech Talk Series Presents: OO Design for Testability. Developer Testing: How much test coverage do you need? - The Testivus Answer. Homepage -> Individual Weblogs -> Alberto Savoia -> How much test coverage do you need?

Developer Testing: How much test coverage do you need? - The Testivus Answer

- The Testivus Answer. Testing Education. Our mission is to: "Create effective, grounded, timely materials to support the teaching and self-study of software testing, software reliability, and quality-related software metrics.

Testing Education

" We are currently (September 2012) working on several projects: NOTE: BBST is a registered trademark of Kaner, Fiedler & Associates, LLC. We have posted the instructional materials for these courses and they are available to the public for free. You can teach these courses yourself or modify them and include the modified materials in your own courses for free. Pairwise Testing in the Real World: Practical Extensions to Test-Case Scenarios. Mixed-Strength Generation Most commonly, when t-wise testing is discussed, it is assumed that all parameter interactions have a fixed-order t.

Pairwise Testing in the Real World: Practical Extensions to Test-Case Scenarios

In other words, if t = 3 is requested, all triplets of parameter values will be covered. It is sometimes useful, however, to be able to define different orders of combinations for different subsets of parameters. For example, interactions of parameters B, C, and D might require better coverage than interactions of A or E. (See Figure 6.) The importance of this feature stems from the fact that certain parameter interactions often seem to be more “sensitive” than others.

Figure 6. Watch BBST: Black Box Software Testing Episodes. BBST: Black Box Software Testing Episodes. Software Testing 06-18158: Course material. Course details Problems and exercises Problems and exercises will be posted here as the course progresses. Software Requirements Specification (SRS) for the Triangle Problem Exercise Outline solution Prioritisation and risk analysis. Traffic lights exercise. Simple triangle problem. Important web resources Many of the resources listed there are the required reading for thecourse. All the items should be of interest to the students on the Software Testing course. Web resources, including Standards. Statement, Branch, and Path Coverage Testing in Java. Statement, Branch, and Path Coverage Testing in Java Pages: 1, 2 Both tests verify the requirement (output equals input) and they generate 100 percent branch coverage.

Statement, Branch, and Path Coverage Testing in Java

But, even with 100 percent branch coverage, the tests missed finding the bug. And again, the manager may believe that testing is complete and that this method is ready for production. A savvy developer recognizes that you're missing some of the possible paths through the method under test. Files/BowlingGameObjective-C.pdf. Coding Is Like Cooking » Blog Archive » Setting up a new Code Kata in Cyber-Dojo. The Cyber-Dojo tool was designed by Jon Jagger as en environment where you can practice your coding skills.

Coding Is Like Cooking » Blog Archive » Setting up a new Code Kata in Cyber-Dojo

I’ve used it a few times now with groups at coding dojos and code retreats, and I think it’s a pretty useful tool for those contexts. (See also my last post which talks about using Cyber-Dojo during Global Day of Code Retreat). One of the advantages of Cyber-Dojo for a Coding Dojo, (or Code Retreat), is that you don’t waste much time at the start of a coding session setting up a coding environment. The session facilitator creates a Cyber-Dojo instance in advance, and puts the practice-id up on a whiteboard or projector where everyone can see it. Participants just point their browsers at cyber-dojo.com, enter the practice-id, and very quickly get coding. TestCoverage. Testing · metrics tags: From time to time I hear people asking what value of test coverage (also called code coverage) they should aim for, or stating their coverage levels with pride.

TestCoverage

Such statements miss the point. Test coverage is a useful tool for finding untested parts of a codebase. Test coverage is of little use as a numeric statement of how good your tests are. Let's look at the second statement first. Developer Testing, Discussions about Software Quality. Developer Testing: How much test coverage do you need? - The Testivus Answer. Code Coverage Analysis. Www.benderrbt.com/Bender-How Do You Know When You Are Done Testing.pdf. Www.exampler.com/testing-com/writings/coverage.pdf. Minimum Acceptable Code Coverage.

MC DC Coverage - Software Testing - Coverage Testing - Udacity. Mocks and Stubs aren't Spies. At this point, we all know the difference between mocks and stubs... right?

Mocks and Stubs aren't Spies

Well, perhaps not. That's OK, I'll try to explain it. And if I do a poor job you can always go read the article. (I've tried to have these samples follow Fowler's samples so that the two articles can be read together easily). So in unit tests, when your system under test requires a collaborator you provide it with a dummy implementation that does nothing, like so. public void testFillingOrder() {Warehouse dummyWarehouse = new Warehouse() { public void remove(String product, int quantity) { //overridden so database query is NOT executed } }};Order order = new Order("TALISKER", 50);assertTrue("order must be filled", order.fill(dummyWarehouse);} Mocks Aren't Stubs. The term 'Mock Objects' has become a popular one to describe special case objects that mimic real objects for testing.

Mocks Aren't Stubs

Most language environments now have frameworks that make it easy to create mock objects. What's often not realized, however, is that mock objects are but one form of special case test object, one that enables a different style of testing. In this article I'll explain how mock objects work, how they encourage testing based on behavior verification, and how the community around them uses them to develop a different style of testing. I first came across the term "mock object" a few years ago in the Extreme Programming (XP) community. Since then I've run into mock objects more and more. Zune Bug: Test Driven Bug Fix. The Microsoft Zune 30G had a well known crash to bring in the new year. Here is the snippet of code that is the alleged culprit, from one of MS’s suppliers (Freescale). The job of this function is to convert the input days to the current day, month, year, and day of the week.