Friday, September 10, 2004

The full source of the BENUG presentation is available for download at http://blog.dotnetwiki.org/downloads/benug.package.zip

The file contains the two presentation I did (TFU.pdf and DPF.pdf in the Showtime folder), the CodeSmith templates and the sample project solution. The first presentation gave a quick introduction to unit testing tools + basic database testing. The second paper presented a new way of handling database testing through intelligent data generators (Database Populator Framework).

If you want to do the exercise of the DPF presentation, you should install TestDriven.Net....msi on your machine. Make sure you remove NUnitAddIn before doing that. This file is a special build of NUnitAddIn (now named TestDriven.Net) that ships with MbUnit.

posted on Friday, September 10, 2004 9:11:00 PM UTC  #    Comments [13]
Tracked by:
"alexander palace" (online) [Trackback]
"mc vapour halloween" (online) [Trackback]
Monday, June 06, 2005 5:35:18 PM UTC
Hi,
<br>
<br>first thanks for this nice stuff ;-) btw. i cannot find <a title="QuickGraph, 100% C# directed graph library" href="http://mbunit.tigris.org" target="_blank">QuickGraph</a> anymore ? is there a new version ? how does k shortest path go ? (i currently think to build it myself and contribute it).
<br>
<br>thanks,
<br>nick
Nick Dinges
Monday, June 06, 2005 5:35:18 PM UTC
<a title="QuickGraph, 100% C# directed graph library" href="http://mbunit.tigris.org" target="_blank">QuickGraph</a> is bundled with <a title="MbUnit, Generating Unit Testing and Model Based Testing Framework for .NET Framework" href="http://mbunit.tigris.org" target="_blank">MbUnit</a>, you can download it at ww.dotnetwiki.org.
<br>
<br>The source is in the <a title="MbUnit, Generating Unit Testing and Model Based Testing Framework for .NET Framework" href="http://mbunit.tigris.org" target="_blank">MbUnit</a> CVS at <a target="_new" href="http://mbunit.tigris.org">http://mbunit.tigris.org</a>
Jonathan de Halleux
Monday, June 06, 2005 5:35:19 PM UTC
Hi Jonathan,
<br>
<br>Your presentation was impressive. Thanks again.
<br>
<br>To adapt the solution of Backup/Restore to an Oracle environment, you could consider to use Oracle Light, which can easily be setup on the developer PC, and thus can be restored/backed-up without impacting other developers.
<br>
<br>
<br>S&#233;lim
Sélim Bichara
Monday, June 06, 2005 5:35:19 PM UTC
Thanks for the tip S&#233;lim. Is anybody interrested into getting TestFu.Data Oracle friendly ?
Jonathan de Halleux
Monday, June 06, 2005 5:35:19 PM UTC
Jonathan,
<br>
<br>What about defining (unless they already exist) a set of interfaces so that it could be extended to &quot;any&quot; rdbms.
<br>
<br>S&#233;lim.
Sélim Bichara
Monday, June 06, 2005 5:35:20 PM UTC
I just got a look at the TestFu.Data namespace, and I suppose everything is already there. ;-)
Sélim Bichara
Monday, June 06, 2005 5:35:20 PM UTC
Indeed, if you download the latest snapshot in the CVS, you will see that TestFu.Data.OracleClient namespace which contains the &quot;empty&quot; classes for Oracle.
Jonathan de Halleux
Monday, June 06, 2005 5:35:20 PM UTC
When will the <a title="" href="http://weblogs.asp.net/nunitaddin/" target="_blank">NUnitAddIn</a>/TestDriven.Net integration be released? It seems to work pretty well in the demo files.
Michael Dorfman
Monday, June 06, 2005 5:35:21 PM UTC
This should be done today or tomorow, I was out this we and I need to get in touch with Jamie in order to get it ready to ship.
<br>
<br>I'll post about it as soon as it is out.
Jonathan de Halleux
Monday, June 06, 2005 5:35:21 PM UTC
Hi Jonathan,
<br>
<br>I have thinking on the use of grammars to create test cases.
<br>
<br>The thing I want to test is a query language we have implemented ourselves. This language is defined by a grammar. The simplified API is a Query method which takes as argument a criterium (a string). This criterium is something defined by the grammar. The return value of the Query method is a list of data objects all of which match the criterium.
<br>
<br>But there are some issues I don't know how to handle.
<br>
<br>(1) How should I stop producing test cases? I mean my grammar can produce an infinite amount of productions.
<br>E.g. A or B, A or B or C, A or B or C or D, ...
<br>
<br>(2) What should I test? Do I just test that calling Query(theGeneratedStringCriterium) doesn't throw an exception?
<br>
<br>
<br>Any ideas?
<br>
<br>PS: Just shoot if you want more details.
<br>PPS: I'm the guy who was asking you lots of questions at the end.
<br>PPPS: I got the graph visualization working without too many problems.
<br>
Bert Robben
Monday, June 06, 2005 5:35:21 PM UTC
1) Each time a rule is invoked it receives a token (IProductionToken) which is factored by a production instance. You can put any termination code in that method in order to stop the grammar. For example, reaching a sufficient size, or executing a minimum number of rules, etc...
<br>
<br>When you are finished, throw a ProductionException exception and this will stop the grammar.
<br>
<br>A good starting point is the CountedProduction class that is used by default.
<br>
<br>2)It all depends on the way you implemented your &quot;Query&quot; method. What you should really do is to create a grammar that builds an oracle and test data in parrallel so that you can compare result.
<br>
<br>You can also use the grammar to produce sick data and check that the proper exceptions are throwed.
<br>
<br>It would be easier to discuss this through the users@mbunit.tigris.org mailing list or by email.
<br>
<br>ps: do you have a blog ? do you have feedback about the visualization ?
<br>
Jonathan de Halleux
Monday, June 06, 2005 5:35:22 PM UTC
Peli's Blog
Monday, June 06, 2005 5:35:22 PM UTC
Peli's Blog
Comments are closed.