Friday, February 17, 2012

Test-Driven JavaScript Development


I was suggested to have a look at this book:



I revised it.

I believe that this book is worth to read, especially by developers who has a deal with  tons of javascript code on daily basis.

Description:

For JavaScript developers working on increasingly large and complex projects, effective automated testing is crucial to success. Test-Driven JavaScript Development is a complete, best-practice guide to agile JavaScript testing and quality assurance with the test-driven development (TDD) methodology. Leading agile JavaScript developer Christian Johansen covers all aspects of applying state-of-the-art automated testing in JavaScript environments, walking readers through the entire development lifecycle, from project launch to application deployment, and beyond.

Using real-life examples driven by unit tests, Johansen shows how to use TDD to gain greater confidence in your code base, so you can fearlessly refactor and build more robust, maintainable, and reliable JavaScript code at lower cost. Throughout, he addresses crucial issues ranging from code design to performance optimization, offering realistic solutions for developers, QA specialists, and testers.

Saturday, November 5, 2011

Digging into the Git domain

Most of the time when you use Git it's enough to have a raw domain in the mind.

Branch, checkout, create branch, commit, push -- operations which can be easily learned and applied in everyday life.

But sometimes it's necessary to dig into details.

Last few days I was working on Git plugin development for our Target Process product, and now it's obvious that my knowledge was not so good to handle NGit API (the port of JGit).

First it's necessary to understand the Git domain.

I started with deep revising of Git manual to sort out all entities which Git operates with.

Here is my first domain diagram :)

By looking at this diagram it's quite easily to understand how root entities related to each other.

Tuesday, October 11, 2011

distributed architectures - importance of self-diagnosis and self-fixing

While implementing my first ESB architecture we've faced many environment configuration issues which was spotted by our customer support team.

Now I think that every environment-sensible application should meet several conditions:

1. It should be self-diagnostic. It means that in case if an application failed to start it is necessary to provide the full list of causes to user -- via log or other ways.
2. Application should be able to fix all misconfiguration cases.

We'll start to implement it here, then I'll post the results :)

Location:vulica Šaranhoviča,Minsk,Belarus

Wednesday, February 23, 2011

Software Craftsmanship Belarus

Yesterday attended a small meeting regarding MongoDB.



http://www.linkedin.com/groupItem?view=&gid=3180862&type=member&item=43449653&qid=f86f59c7-e576-47ea-b91d-d991b5a24e56&goback=%2Egmp_3180862


During coffebreak I had a small conversation with the organizer -- Aliaksei Kliuchnikau

We touched some BDD-related questions like problems and possible solutions -- here at Target Process Inc. we acquired rich experience regarding BDD.

By the end we agreed that it would be interesting if I conducted the next presentation. The topic will be about Enterprise Service Bus architecture and it's NServiceBus implementation.

Let's see... 15th of March -- that's the date! :)

Tuesday, February 15, 2011

Unit Tests: Antipatterns presentation

It was a while since I did my presentations - 4 months already.

But today I starting preparations for the next one -- "Unit Testing -- antipatterns and patterns".

It seems that we need to cover not only unit tests themselves, but acceptance UI tests as well (Page Object pattern rules!)

NServiceBus acceptance tests

Yesterday I was fighting with Selenium WebDriver and NServiceBus.

The idea is to test our plugin system (which is written with using of NServiceBus) via Selenium WebDriver.

There are about 2500 functional tests already written with using of just Selenium, and it would be nice to keep them running, so we need to use WebDriverBackedSelenium

For now I stopped on trying to revise possibilities emulate old Selenium API.