More on unit tests vs acceptance tests

I posted a question on programmers.stackexchange about my previous blog post about unit testing vs acceptance testing/end-to-end testing and got some great answers.

What I took away from the answers is that you need both types of testing. Acceptance testing to ensure the full system functions properly, and unit tests to ensure each component functions properly.

However, I still think if you're only writing acceptance tests, then your code will bend towards that sort of design. It won't matter if you have one or two methods that are over 15 lines long as long as the acceptance test passes. With unit tests, you're more likely to have small units of functionality. Or maybe that only applies to me.

End to end tests posing as unit tests in web development

've been reading the excellent book The Art of Agile Development, I started to think more about why Test Driven Development is important and how it affects how you write code.

Using some of the 20% time we're given at work, I investigated and found that writing end-to-end tests encourages me to write code that can only be tested using end-to-end tests. When I wrote unit tests, I found that I wrote smaller pieces of code that could be tested using unit tests, integration test and end-to-end tests.

Random update

Some random updates:

I've signed up for the LinkedIn Hackathon in Toronto, already got an idea for it involving locations and some of the Toronto Open Data set, probably need to do some web scraping or some API data collecting. Going to use Django/Python this time around as that's what I'm familiar with at work and know how it behaves rather than trying to mess around with Common Lisp and whatever tools are available.

Random Interesting Questions on StackOverflow #1

Code is up for the om-web-pack

I forked the cl-web-utils and oauth2 libraries and started work on a Twilio API.

You can check out the whole project here: https://gitorious.org/om-web-pack

As a change of pace I'm using LispWorks Personal Edition in Windows 7 (64-bit). I've already encountered a compilation error in cl-web-utils. It has to do with the helpers file which has some useful macros and functions, however most of them don't seem to be used and I feel like some of them can be inlined or replaced with functions from Alexandria or another library. We'll see what happens with that.

The changes I'm making to oauth2 are mostly improving the examples and documentation and testing it with a few more APIs like Twilio.

Node.js and Web Server Architecture Performance

Since I got an ACM subscription, I have been interested in knowing what research papers have practical implications for web developers. There was a blog post by Ted Dziuba that blasted the hype surrounding Node.js, calling it a cancer on the developer community and suggesting that the performance is sub-par and the language used, JavaScript, contains flaws as bad as those found in PHP. He did a micro-benchmark and the amount of requests that Node.js could handle with the simplest function and with a modest load was tiny.

ACM Subscriptions Are Worth The Price

It seems that a lot of computer scientists and programmers assume that the ACM (Association of Computing Machinery) is a mere publisher of computer science papers. They forget that the ACM hands out the Turing Award which has been awarded to several prominent computer scientists such as Alan J Perlis, Marvin Minsky, Edsger W Dijkstra, Donald E Knuth, and Barbara Liskov. When I subscribed as a professional, I gained access to the digital library which is rich with computer science papers which are sometimes practical, sometimes theoretical. The papers are found in the numerous transactions and journals that the ACM publishes, and the ACM hosts many conferences and sponsors some amazing events such as the ICPC (International Collegiate Programming Contest) and they even sponsored the Deep Blue vs Kasparov chess game.

The price for a year's subscription was only $200 USD and for students the price is lower than that. Students should have access to the ACM Digital Library through their university so their subscription price is effectively $0 per year. It's incredible to think that so many papers are ignored and don't become popular because of a $200 paywall. $200 is seriously not much.

HackTO hackathon aftermath (raw notes)

These are the raw notes I wrote down after I left the hackathon...You can check out the code I wrote here

completed some sort of application for the hackathon, was screwed over by the Wi-Fi routers. Discovered flaws in oauth2 and cl-web-utils packages. Drakma wasn't bad, needs more examples and a bit more documentation for the major functions.

HackTO hackathon, 14 April 2012

Quebec City Park

I've signed up for my first ever hackathon, HackTO. The last time I competed in something programming-related was over 3 years ago when I tried some single round algorithms matches on TopCoder. I also tried some of the puzzles in Google's challenge, whatever it's called. My skills are fairly average sadly.

I'll be coding using Common Lisp.

Open Data Initiatives, Do They Really Help?

Sometimes software developers have great ideas, such as free software/open source software, and open protocols and using open data formats instead of proprietary formats. These "open" ideas have been extended to databases that are stored by governments and now we have Open Data projects conducted by the City of Toronto, and other cities in an effort to improve public services, increase oversight, and give citizens more access to information that affects them.

Tags: 

Pages

Subscribe to NeverFriday RSS
© 2010 Your Name.. Drupal theme by Kiwi Themes.