Solved

Acceptance Testing Frameworks

Posted on 2011-03-16
7
283 Views
Last Modified: 2013-12-13
I need clarification on how an Acceptance Test (AT) may  be automated.


I use Unit Tests extensively already but I am a little confused on how may  an acceptance may
fits into the picture.

I do know that the AT must be given a high-level description, but how does this map to code?
0
Comment
Question by:geldfeld
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 29

Expert Comment

by:pepr
ID: 35152068
I am not 100 % sure, but I think that you should search for "mockup" testing. Basically, you need to build a kind of faked environment that simulates the chosen subset of real situations. The tested part of the system is joined to the mockup objects and have to respond (as a black-box) correctly.

If unit testing is focused on testing the tiny, essential bits of the functionality (isolated), the acceptance test do test the units in cooperation, as if it was real run of the system.
0
 

Author Comment

by:geldfeld
ID: 35157360
@pepr  - I have read the Acceptances Tests can be automated, yet they are defined in high level langague by the business users.  What are the steps in between, mapping the high-level description to the test scenario.

This is not what I am clear about.
0
 
LVL 29

Accepted Solution

by:
pepr earned 500 total points
ID: 35158147
I personally did not implement it, so take my words from that position. I have touched the problem when learning principles of Agile software development (http://en.wikipedia.org/wiki/Agile_Software_Development), namely the Extreme Programming (http://en.wikipedia.org/wiki/Extreme_Programming). However, there are other approaches to Agile development (see the earlier page).

Probably all of the methodologies rely on heavy testing. The problem is that some methodologies name the same thing using different terms. This is possibly also because of the fact that they recognize and support different levels of testing (more or less fine grained levels).  As far as I know all of them quite agree with Unit testing (i.e. the lowest tests).  However, Extreme Programming adds only Acceptance testing.  Some other methodologies talk about integration testing, GUI automated testing, etc.

Another problem is that it is easy to talk about something, but it is difficult to implement it.  Many probably agree with User stories (http://en.wikipedia.org/wiki/User_story) that are usually written on paper cards using some simple sentences. They are something like "human-oriented expectation unit-tests". Then the question is who is the user. Is it the one that clicks the button on the screen or the one that had a vision how their system should look like inside...

It is also difficult to say what does it mean the "domain specific language" that should help to formalize the descriptions form User stories. Try to search for articles by Martin Fowler (http://www.martinfowler.com/). Read the sample chapter related to the domain specific languages (http://www.informit.com/articles/article.aspx?p=1592379).

Google for http://www.google.cz/search?q=Martin+Fowler+DSL

Try also http://www.google.cz/search?q=Martin+Fowler+mock and read the article "Mocks Aren't Stubs" (http://martinfowler.com/articles/mocksArentStubs.html). This is not the direct answer but you may find some things there that you look for.

Search also for Robert C. Martin  (try  http://www.google.cz/search?q="Robert+C.+Martin"+acceptance+test)
Read his "The Test Bus Imperative: Architectures That Support Automated Acceptance Testing" (http://martinfowler.com/ieeeSoftware/testBus.pdf)
0
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 

Author Comment

by:geldfeld
ID: 35163954
@pepr  - this has covered the issues that I needed resolved regarding Acceptance Testing.

The article from Martin Fowler were especially helpful

0
 
LVL 4

Expert Comment

by:jpg526
ID: 35338815
To make it simple, unit test is done by developer to ensure the functional point works.
To do a Acceptance test, you need to study the software requirement, think about what actual that user expectation.

You should not try to "map" it code (and.....actually you don't need to)

for example, let's say you are developing a image editing software, and you have developed lots of complicated image editing functions (and you did extensive unit test on it). The acceptance test may be just simple as:
Test Case 1: Open and close application
Test Case 2: Open a JPG image
Test Case 3: Open a BMP image
Test Case 4: Apply blur filter to opened image.

that's it.


0
 
LVL 31

Expert Comment

by:James Murrell
ID: 36515797
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Skype is a P2P (Peer to Peer) instant messaging and VOIP (Voice over IP) service – as well as a whole lot more.
There are many software programs on offer that will claim to magically speed up your computer. The best advice I can give you is to avoid them like the plague, because they will often cause far more problems than they solve. Try some of these "do it…
Learn the basics of if, else, and elif statements in Python 2.7. Use "if" statements to test a specified condition.: The structure of an if statement is as follows: (CODE) Use "else" statements to allow the execution of an alternative, if the …
This video demonstrates how to use each tool, their shortcuts, where and when to use them, and how to use the keyboard to improve workflow.

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question