background preloader

Behavior Driven Development

Behavior Driven Development
In software engineering, behavior-driven development (abbreviated BDD) is a software development process based on test-driven development (TDD).[1][2] Behavior-driven development combines the general techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis and design to provide software developers and business analysts with shared tools and a shared process to collaborate on software development,[1][3] with the aim of delivering "software that matters".[4] Although BDD is principally an idea about how software development should be managed by both business interests and technical insight, the practice of BDD does assume the use of specialized software tools to support the development process.[2] Although these tools are often developed specifically for use in BDD projects, they can be seen as specialized forms of the tooling that supports test-driven development. History[edit] Principles of BDD[edit] Behavioral specifications[edit] See Also[edit]

Test-driven development Software design using test cases Test-driven development (TDD) is a software development process relying on software requirements being converted to test cases before software is fully developed, and tracking all software development by repeatedly testing the software against all test cases. This is as opposed to software being developed first and test cases created later. Software engineer Kent Beck, who is credited with having developed or "rediscovered"[1] the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.[2] Test-driven development is related to the test-first programming concepts of extreme programming, begun in 1999,[3] but more recently has created more general interest in its own right.[4] Programmers also apply the concept to improving and debugging legacy code developed with older techniques.[5] Test-driven development cycle[edit] The following sequence is based on the book Test-Driven Development by Example:[2] 1. 2. 3. 4. 5. Repeat

metricfu/metric_fu Effective Unit Testing with DbUnit Published on ONJava.com ( See this if you're having trouble printing code examples by Andrew Glover 01/21/2004 Introducing DbUnit Writing unit and component tests for objects with external dependencies, such as databases or other objects, can prove arduous, as those dependencies may hinder isolation. Ultimately, effective white-box tests isolate an object by controlling outside dependencies, so as to manipulate its state or associated behavior. Utilizing mock objects or stubs is one strategy for controlling outside dependencies. Stubbing out associated database access classes, such as those found in JDBC, can be highly effective; however, the mock object solution may not be possible in application frameworks where the underlying database access objects may be hidden, such as those utilizing EJBs with container-managed persistence (CMP) or Java Data Objects (JDO). Automated tests are a critical facet of most successful software projects. Getting Started DbUnit in Code

Windows – Howto Instalación de Qemu en Windows | www.elsotanillo.net de Juan Sierra Pons Qemu es un emulador Open Source de Sistemas Operativos que puede correr tanto en Windows como en Linux. En este Howto, veremos su instalacion en Windows.La emulacion de Sistemas operativos nos puede ser muy util para: Poder correr programas antiguos que no tienen su equivalente actual. Por ejemplo, programas especificos creados para entornos MS-DOS que no es posible migrar. ¿Que es Qemu? QEMU es un emulador Open Source que consigue una buena emulación usando traducción dinamica de las operaciones entre la maquina anfitriona o principal y la maquina huesped o emulada. Emulacion completa del sistema. Tambien existe un modulo Acelerador KQEMU (Propietario) disponible que optimiza el rendimiento en el caso de que un PC es emulado dentro de otro PC. Programas necesarios para la instalacion de QEMU y del modulo acelerador KQEMU El Paquete binario para Windows, lo podemos bajar de en el momento de escribir este articulo la versión que había era la qemu-0.8.2.

Unit testing In computer programming, unit testing is a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures are tested to determine if they are fit for use.[1] Intuitively, one can view a unit as the smallest testable part of an application. In procedural programming, a unit could be an entire module, but it is more commonly an individual function or procedure. In object-oriented programming, a unit is often an entire interface, such as a class, but could be an individual method.[2] Unit tests are short code fragments[3] created by programmers or occasionally by white box testers during the development process. Ideally, each test case is independent from the others. Benefits[edit] The goal of unit testing is to isolate each part of the program and show that the individual parts are correct.[1] A unit test provides a strict, written contract that the piece of code must satisfy.

charliesome/better_errors Useful tools for writing Selenium tests I've been writing a lot of Selenium tests lately and I've been using some tools that I find extremely useful for composing table-style tests. Let me start by saying that writing GUI-based tests for Web apps is no fun, no matter what your testing tool is. You need to navigate through pages, fill and submit forms, and verify that certain elements are present on the pages. Doing all this manually can quickly become tedious and kill whatever joy you may find in testing. If you're writing Selenium tests, these activities are, if not fun, at least tolerable due to the existence of the Selenium Recorder ("the Selenium Recorder -- can't imagine life as a Web app tester without it" seems like a good line for a commercial :-) The Selenium Recorder (which I'll refer to as SelRec from now on) is a Firefox extension that you launch via the Tools menu. SelRec can also help with certain Selenium assertion commands. Note that XPath expressions don't work that well in Internet Explorer. Updates

crea un sistema operativo portable bueno muchachos en esta guia que me incontre por ay les voy a enseñar como hacer un sistema operativo portable BackTrack Portable BackTrack (o tu sistema operativo favorito, la guía esta abierta a cualquiera de ellos) materiales Memoria USB (mínimo 1GB de espacio) Primero necesitamos la herramienta Moka5 que la podemos descargar aquí, también necesitamos la ISO del BackTrack podemos bajarla aquí, una vez tienes las herramientas necesarias, empezaremos a crear nuestro BackTrack portable en nuestra memoria USB. ared.com/file/YpGGX-HJ/LivePCengine-dragonjarorg.html 1). 2). 3). 4). Nos aparecerá el siguiente pantallazo: Donde debemos escoger la opción “Make you own LivePC”, la otra opción es para descargar o ejecutar en línea algunas maquinas prefabricadas (al parecer ya no están disponibles después de que moka5 se volviera comercial). 5). 6). PD. bueno espero que les valla bien

FitNesse Sucking less at writing Cucumber — Rendered Text I wrote my first Cucumber scenario about five months ago. It went something like this: Scenario: Changing email Given I am logged in And I am on the homepage When I click on "Account" And I fill in "email" with "milos@example.com" And I press "Change Email" Then I should see "Email successfully changed" When I visit "My profile page" Then I should see "milos@example.com" Maybe my naivete was not solely to blame; I was told it was so easy “that it could be taught to a secretary”. I am not so sure anymore. Some of the problems with the above scenario are: It’s too long and verbose It’s not using the domain language Read the scenario. Background: Given I am logged in Scenario: Changing Email Given I am on my account page When I change my email Then I should see that my email has changed Using web steps makes you write very imperative scenarios that you have to rewrite each time you change something. Lately I just write the whole scenario and implement the steps.

Cedric Beust Untested code is the dark matter of software Recently, somebody posted an innocent-looking question on the JUnit mailing-list, basically saying that he finds unit testing hard, confessing he doesn't always do it and asking for opinions about whether his situation is normal and if everybody else manages to do testing 100% of the time. I have to say, even I underestimated the virulence of the responses that followed. Code coverage for these tests should be very close to 100% (i.e. high 90s). That's a bit extreme, but not entirely untrue. If you don't have this [code coverage], then you don't KNOW that your code actually works. There are plenty of ways to know that your code works. Claiming that only testing or code coverage will tell you for sure that your code works is preposterous. The argument about "TIME" is laughable. This seems to imply that there are only two kinds of code: Code that is tested and works. This kind of code is very common, in my experience. Good piece. Nice article.

Trucos Google, Trucos de búsqueda y Curiosidades sobre el buscador Todo sobre Google Buscar frase exacta - Si quieres buscar una frase exacta, introdúcela entre comillas (""). Por ejemplo: "diarios deportivos" Encontrar páginas que incluyan determinadas palabras - Para encontrar páginas que incluyan determinadas palabras, pero no otras, deberemos incluir el signo '-' delante de las que no queremos buscar. tienda -online Encontrar páginas que incluyan una determinada palabra u otra - Si pretendemos encontrar una determinada palabra u otra, usaremos 'OR' (o bien el símbolo '|' (AltGr+1). tienda (zapatos OR pantalones) tienda (zapatos | pantalones) Forzar palabras para su búsqueda - Hay numerosas palabras (en español: 'a', 'de', 'el', ...; en inglés: 'to', 'of', 'the',...) que Google no tiene en cuenta en sus búsquedas, a no ser que lo indiquemos. el mundo +el mundo Uso de comodines - Se puede hacer uso de comodines. "los * años" "los * * años" Mayúsculas y minúsculas - No es necesario distinguir las mayúsculas de las minúsculas. Uso del comando Link: allintext:hacker

Related: