[KyOSS Discuss] Wednesday's meeting: Test-Driven Devlopment (TDD) and other wonders

alan blount alan at zeroasterisk.com
Tue Oct 8 20:40:20 EDT 2013


Yup - assuming I can make it (I'll try really hard to do so), I'll be
demoing:

   - CakePHP testing framework (wrapper/framework for phpunit as of cake2.0)
   - Introduction to unit testing in CakePHP
   - Quick Introduction to TDD (writing your tests first)
   - Overview of TravisCI and demonstration and review of our config file
   - Code Coverage
   - Plugin testing
   - Test grouping

Future topics:

   - General: Object Mocking
   - Cake specific: Model / Controller / View / Helper mocking
   - Smoketest / Use Case Testing (in a headless browser, with JS, with
   screenshots)
   - MeteorJS Unit Testing




Thanks,
-alan


On Tue, Oct 8, 2013 at 5:17 PM, Charles Griffin
<cegrif01 at gmail.com<javascript:_e({}, 'cvml', 'cegrif01 at gmail.com');>
> wrote:

> I'm debating on whether to show the group testing in Laravel or just plain
> ol' php from scratch.  Alan, if you're going to whip out CakePHP, I'd be
> super excited to show testing in Laravel so that everyone (including
> myself) can see the differences.  I'm currently working on a financial
> application in Laravel that is full of unit tests so I naturally would
> rather show Laravel, but the testing process is exactly the same whether
> you start with or without a framework.
>
> I can also hit a little on the subject of mocking and dependency
> injection, but I will probably just talk about the concepts and what they
> mean and save those topics for a series of testing discussions.
>
> The one thing I would like for the group to get out of the TDD discussions
> is that it really doesn't matter if it's php, java, or even something a
> little less common like lua.  Testing is testing.  If you're a developer in
> a different language, don't get discouraged by the fact that there may not
> be a good testing framework (like phpunit).  It's actually quite easy to
> spin your own basic methods for testing.
>
> Charles
>
>
> On Tue, Oct 8, 2013 at 4:55 PM, John Hicks <johnhicks at gulfbridge.net<javascript:_e({}, 'cvml', 'johnhicks at gulfbridge.net');>
> > wrote:
>
>>  Sounds like there's interest and willing presenters, so let's talk
>> about TDD!
>>
>> That's tomorrow night (Wednesday, October 9) at 6:30 at LVL1, 814 East
>> Broadway, rear entrance, park in the lot to the rear of the rear entrance.
>>
>> To put yourself in the mood, your homework is to do at least the first
>> problem at "You can't program Javascript under pressure<http://toys.usvsth3m.com/javascript-under-pressure/>"
>> and to notice how it verifies the correctness, or lack thereof, of your
>> answer, running through a series of tests.
>>
>> (I know both Charles and Alan are PHP developers like I am. I'm curious
>> to see how TDD is done in PHP, where there are often side effects to
>> functions beyond what's returned from the function call.)
>>
>> We'll have time to talk about other things too. Any other subjects you
>> all want to talk about?
>>
>> John
>>
>>
>> On 10/08/2013 12:42 PM, Alex Bezuska wrote:
>>
>>  I would love to learn more about TDD, I am a newb in this area.
>>  looking forward to KYOSS tomorrow
>>
>>
>> On Tue, Oct 8, 2013 at 12:12 PM, Chris Rockwell <chris at chrisrockwell.com<javascript:_e({}, 'cvml', 'chris at chrisrockwell.com');>
>> > wrote:
>>
>>> I'm definitely interested in a series on this, whether it's at JSLou or
>>> KYOSS.  Can't make KYOSS this month though, so just cover the basics :)
>>>
>>>
>>>  On Tue, Oct 8, 2013 at 11:58 AM, alan blount <alan at zeroasterisk.com<javascript:_e({}, 'cvml', 'alan at zeroasterisk.com');>
>>> > wrote:
>>>
>>>>  If anyone's interested in a series on TDD, I can demo how we're
>>>> testing at work with CakePHP, TravisCI, smoketest, etc...
>>>>
>>>>  Also, I have not yet cracked into unit testing / TDD with MeteorJS,
>>>> but a lot of work has been done in those areas and I've been meaning to get
>>>> into it.  Happy to dig into an investigation sometime (JSLou?).
>>>>
>>>>  {I've been putting it off waiting on "official" specifications from
>>>> Meteor, but they do have "semi-official" tinytest for packages, which we
>>>> could implement on a simple package I've released which needs some tests}
>>>>
>>>>
>>>>  *Background*
>>>>
>>>>  if anyone does NOT know what we are talking about with "unit tests"
>>>> or "test driven development" - it's basically an approach for writing code
>>>> to test your code... More work up front, and usually 2x-3x the total lines
>>>> of code; but you end up with something that is a LOT more reliable,
>>>> readable, referenceable, and provable.
>>>>
>>>>  If you're just popping out a Wordpress install, don't worry about
>>>> this.
>>>>
>>>>  If you're building anything you care about, you should worry about
>>>> this... even if it's not a big project you want to maintain forever, the
>>>> habits of TDD *will* make you a better programmer and your code will
>>>> forever be easier to upgrade/update/refactor/collaborate on.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>  Thanks,
>>>> -alan
>>>>
>>>>
>>>> On Tue, Oct 8, 2013 at 11:03 AM, Chris Simmons <chrissimmons2 at gmail.com<javascript:_e({}, 'cvml', 'chrissimmons2 at gmail.com');>
>>>> > wrote:
>>>>
>>>>>  Wow John! Thanks for the detailed response!  We should be there
>>>>> tomorrow barring any unexpected road blocks on my part.
>>>>>
>>>>> Thank you,
>>>>>
>>>>>  Chris Simmons
>>>>>
>>>>> On Oct 8, 2013, at 12:32 AM, John Hicks <johnhicks at kyoss.org<javascript:_e({}, 'cvml', 'johnhicks at kyoss.org');>>
>>>>> wrote:
>>>>>
>>>>>   On 10/07/2013 10:46 AM, Christopher Simmons wrote:
>>>>>
>>>>> I haven't been to one of these meetings in over a year.  I was
>>>>> thinking about coming to this month's meeting and bringing someone who is
>>>>> just starting to get interested in technology.  What do we have on the
>>>>> agenda for this month?  Are there any entry level topics being covered this
>>>>> week?  Anything that a new linux / Open Source user might be able to follow
>>>>> and not get too overwhelmed? Thanks in advance!  I'm looking forward to
>>>>> Wednesday.
>>>>>
>>>>>
>>>>> Chris,
>>>>> We've tossed a couple of ideas around, but so far nothing solid is on
>>>>> the agenda.
>>>>>
>>>>> Ideas discussed:
>>>>>
>>>>>    - Joel Tosi (in Chicago) mentioned "presentations / workshops
>>>>>    around puppet, vagrant, etc.,"  and "the continuous delivery space or
>>>>>    devops" He could come down in the future to lead something, but not this
>>>>>    week.
>>>>>    - Chris Rockwell and Paul Yost (from IvyTech) have been in
>>>>>    communication about creating a LiveCD that supports USB wireless. Chris
>>>>>    invited Paul to the meeting to discuss it further.
>>>>>
>>>>> Another idea:
>>>>>
>>>>>    - Alex Bezuska, who is leading the JSLOU Javascript group, has
>>>>>    offered to take on a remake of the front end of the kyoss.orgwebsite as a JSLOU project.
>>>>>    - Craig Garner has pointed out a number of deficiencies in the
>>>>>    back end of the site.
>>>>>    - John Hicks, the perpetrator of the site, has been completely
>>>>>    anal-retentive about keeping it programmed-from-scratch (despite the fact
>>>>>    that some of the code is approaching 10 years old and he hasn't done
>>>>>    diddly-squat lately to improve it).
>>>>>    - Therefore, we might reasonably ask John to explain the
>>>>>    architecture of the site a bit so that we might help him along with
>>>>>    back-end improvements.
>>>>>
>>>>> Other topical topics:
>>>>>
>>>>>    - NSA/privacy/transparency developments
>>>>>    - Cryptography - anybody else signed up for the Stanford course?
>>>>>    (It's week five. I really need to get started on it!!!)
>>>>>     - The apparent movement to Linux for gaming
>>>>>    - New Linux kernel
>>>>>    - hardware developments... seem to be multiple takes out recently
>>>>>    for a PC+Arduino board
>>>>>     - ... what did I miss?
>>>>>
>>>>> Also,
>>>>>
>>>>>    - We could have a live "You can't program Javascript under pressure<http://toys.usvsth3m.com/javascript-under-pressure/>"
>>>>>    competition. Or at least a demonstration of how the site implements
>>>>>    test-driven development (TDD).
>>>>>    - TDD is a subject that's been suggested, but it's probably too
>>>>>    late to expect anyone to prepare something by Wednesday.
>>>>>    - I struggled with Mailman and Postfix this past week getting the
>>>>>    JSLOU mailing list going. I could show what I was struggling with, and some
>>>>>    of you gurus could elucidate on what was probably happening under my
>>>>>    clueless nose.
>>>>>    - We always have an interest in git, vim, etc.
>>>>>     - Barton could give us some more command line gems. Or we could
>>>>>    follow his suggestion for each of us to bring our favorite
>>>>>    little-used-but-invaluable-when-needed commands to share.
>>>>>     - We are overdue talking about networks and network tools.
>>>>>    - We could compare our various work environments for coding.
>>>>>    IDEs/editors/screen setups, etc.  Our work habits, ways to get "in the
>>>>>    zone." ...
>>>>>
>>>>> Any other ideas, folks?
>>>>>
>>>>> John
>>>>>
>>>>>
>>
>> _______________________________________________
>> KyOSS-Discuss mailing list
>> KyOSS-Discuss at kyoss.org <javascript:_e({}, 'cvml',
>> 'KyOSS-Discuss at kyoss.org');>
>> Subscribe by sending email to kyoss-discuss-subscribe at kyoss.org<javascript:_e({}, 'cvml', 'kyoss-discuss-subscribe at kyoss.org');>
>> Unsubscribe by sending email (from the address you wish to unsubscribe)
>> to kyoss-discuss-unsubscribe at kyoss.org <javascript:_e({}, 'cvml',
>> 'kyoss-discuss-unsubscribe at kyoss.org');>
>> Difficulty unsubscribing? Check your email headers for originally-to
>> address in case you are forwarding your mail.
>> More options at http://kyoss.org/cgi-bin/mailman/listinfo/kyoss-discuss
>>
>
>
> _______________________________________________
> KyOSS-Discuss mailing list
> KyOSS-Discuss at kyoss.org <javascript:_e({}, 'cvml',
> 'KyOSS-Discuss at kyoss.org');>
> Subscribe by sending email to kyoss-discuss-subscribe at kyoss.org<javascript:_e({}, 'cvml', 'kyoss-discuss-subscribe at kyoss.org');>
> Unsubscribe by sending email (from the address you wish to unsubscribe) to
> kyoss-discuss-unsubscribe at kyoss.org <javascript:_e({}, 'cvml',
> 'kyoss-discuss-unsubscribe at kyoss.org');>
> Difficulty unsubscribing? Check your email headers for originally-to
> address in case you are forwarding your mail.
> More options at http://kyoss.org/cgi-bin/mailman/listinfo/kyoss-discuss
>



-- 
Thanks,
-alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://kyoss.org/pipermail/kyoss-discuss/attachments/20131008/3705a298/attachment-0001.html>


More information about the KyOSS-Discuss mailing list