We're Testing Your Patience... episode artwork

EPISODE · Dec 15, 2014 · 1H 26M

We're Testing Your Patience...

from Coding Blocks

I figured this title was appropriate considering it's been a month since our last episode.  We've all been incredibly busy so we hope you've been patient waiting and maybe, just maybe it was worth the wait!  We've crammed quite a bit into this episode which is all about testing.  Follow the more link to see the show notes for this particular episode and don't forget to click one of the share buttons there to let all your friends know about the podcast!In this episode we're primarily talking about Unit Testing.  While that's the focus of the podcast, we also touch on other types of testing so you'll get a basic understanding of the fundamental differences between the types of tests.  Just keep in mind - the testing we're talking about is writing code to test your code.  It's not someone going through and clicking on items in your UI to make sure they work.  We're talking about code testing code to preemptively find problems before they become big problems. Fun Stuff It's the holiday season and we would be remiss if we didn't mention our favorite games right now. Call of Duty Advanced Warfare Call of Duty Advanced Warfare   Middle Earth: Shadow of Mordor Middle Earth: Shadow of Mordor Vistor Pattern Re-Visited @TrentApple and loldot both shared the ExpressionVisitor.Click here to see an example of the ExpressionVisitor class Mail from You Ray wanted to try an anti-SQL database.  Ended up with db4o.  Unfortunately it looks like it may be dead.Here's the link to db4o...Maybe do a podcast on object to database storage.  Database mappers of various sorts. Lewis wants us to create a list of our recommended tools.  Check back here in the future and we'll have a link to the post we create that lists out our favorite developer tools.  Everything from command line replacement tools, comparison tools, text editors, etc.Favorite tools of 2014 Coming Soon! Marcus wants to hear a podcast on Reactive Extensions.  We may be getting an expert on the show to speak about this stuff.... Testing Testing in general Testing as you go (you running through your app to make sure it works) Automated testing (run from command line, build server, etc.) Several types of testing (not an exhaustive list): Unit testing - testing small pieces of code that have as few dependencies as possible Usually fast running, smaller tests Functional testing - testing how portions of an application work when hooked into its dependencies (databases, web services, etc) UI testing Selenium testing for web applications - fragile? difficult to maintain? Record & Replay / Macro type testing Take longer to run as it's stepping through an app like a user would Regression testing - tests that ensure newer features haven't broken older features that should still function the way they did previously Load testing - making sure a system can continue to function when put under high load Performance testing - making sure your application performs up to some predetermined standard Security testing - ensuring your application is as secure as possible given Unit Testinghttp://en.wikipedia.org/wiki/Unit_testing For a single method that you want to test, you may create a dozen test methods to ensure that when you call that one method you always get your expected results.  So, speaking of unit tests, you're typically not writing ONE unit test to test an existing (or new) method, rather you're creating a number of small unit tests to be concise. The Triple A Pattern: Arrange - set up your variables Act - call the method under test Assert - did the method do what you expected it to do? Why not just write functional tests as they test higher up?http://www.jbrains.ca/permalink/not-just-slow-integration-tests-are-a-vortex-of-doom Should the Singleton get blasted some more?!  Michael tries to defend his true love... Unit tests should be able to run out of order - this "proves" that you don't have any bad dependencies lying around. Testing Pyramid - Michael Cohnhttp://martinfowler.com/bliki/TestPyramid.html GUI Tests Acceptance / Functional Tests Unit Tests Test Driven Development - TDD Should you test first? Why Test? Fewer errors Catch errors sooner Living documentation? Automatic regression harness Forces looser coupling of code SHORTER FEEDBACK LOOP - you'll find out if there's a problem quickly You can AUTOMATE IT! - run on your box, on a build server, etc. Javascript testing Jasmine - behavior driven development frameworkhttp://jasmine.github.io/ Karma - testing task runnerhttp://karma-runner.github.io/ Test Runners These find your tests and runs them and tells you what succeeds and what fails, typically looking at classes that have been attributed as test classes. .NET teseting frameworks: NUnit - One of the most popular for .NEThttp://www.nunit.org/ MSTest - Bundled with versions of Visual Studio but has some shortcomings -no parameterized tests?!?!http://en.wikipedia.org/wiki/MSTest XUnithttps://github.com/xunit/xunit Java's primary testing framework is JUnithttp://junit.org/ Why Does Testing Suck? It's hard! I already know it works! Class / Interface / Code explosion Dependencies - Injection / Mocking What's your coverage? Resources - Links to Other Things We Mention in the Show Huge list of testing resources:http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks Code Complete - excellent guide on complete programming Code Complete Art of Unit Testing - Learn to unit test from the ground up Art of Unit Testing Structuring Your Unit Tests Pluralsight - Test First Development Pluralsight - Test First Development, Part 2 DotCover - JetBrains tool for seeing your code's test coverage Tips of the Week Joe found a new podcast he loves - http://www.defensivesecurity.org/ Michael loves DotCover from JetBrains - https://www.jetbrains.com/dotcover/ Allen has found his new keyboard fling, the Microsoft Sculpt Ergonomic Microsoft Sculpt Ergonomic Keyboard  

Episode metadata supplied by the publisher feed · Published Dec 15, 2014

NOW PLAYING

We're Testing Your Patience...

0:00 1:26:25

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

API Intersection Stoplight Building a successful API requires more than just coding. It starts with collaborative design, focuses on creating a great developer experience, and ends with getting your company on board, maintaining consistency, and maximizing your API’s profitability.In the API Intersection, you’ll learn from experienced API practitioners who transformed their organizations, and get tangible advice to build quality APIs with collaborative API-first design.Jason Harmon brings over a decade of industry-recognized REST API experience to discuss topics around API design, governance, identity/auth versioning, and more.They’ll answer listener questions, and discuss best practices on API design (definition, modeling, grammar), Governance (multi-team design, reviewing new API’s), Platform Transformation (culture, internal education, versioning) and more.They’ll also chat with experienced API practitioners from a wide array of industries to draw out practical takeaways and insights you can use.H Unshamed & Unchained: Carving Space For Self-Healing & Habit Transformation Danny Poelman Welcome to "Unshamed & Unchained: Carving Space For Self-Healing & Habit Transformation", the podcast where we break the chains of shame and societal expectations to create a safe space for self-healing, habit transformation, and personal growth. Hosted by a seasoned life coach, Danny Poelman DDS, with years of hands-on experience, this podcast is your guide to reclaiming your voice, embracing your story, and living life on your terms.In each episode, we dive deep into the topics that matter most to you—whether it's:-breaking free from unwanted habits like pornography-excessive people-pleasing-healing from past trauma-recovering from narcissistic abuse or religious/relational trauma-anxiety/depression-money mindset blocks-overcoming limiting beliefsWe’re not afraid to talk about the things that are often considered taboo, because we believe that through honest, unfiltered conversations, real transformation happens.You’ll hear real Khanyisa Keke TV Khanyisa Keke On Khanyisa Keke TV, developers can learn and improve their Android for Kotlin Development skills. On this podcast, programmers can learn Android for Kotlin coding from scratch, improve their existing programming skills, get tips, be kept up to date with all the latest happenings and get access to free resources. Powered by Firstory Hosting The Triathlon Mental Performance Podcast Neil Edge This podcast is for you if you are a Triathlete that is interested in learning about tools and strategies to overcome challenges and to utilize the power of your mind to race faster.I'm an experienced Triathlon Mental Performance Coach working with both Age Groupers and Pros.Episodes will cover the following and more.How to improve your mental toughnessRemoving the possibility of panic attacks in open water Removing the fear of fast descents on your bike -Removing mental blocks to improve your race times Completely remove performance anxiety (you don't have to just cope with it)4 weeks to race day - Strategies to  arrive at your a-race feeling calm and confident, with race day mental strategiesI will also talk about specific tools that you can use to ensure that you race faster.<b

Frequently Asked Questions

How long is this episode of Coding Blocks?

This episode is 1 hour and 26 minutes long.

When was this Coding Blocks episode published?

This episode was published on December 15, 2014.

What is this episode about?

I figured this title was appropriate considering it's been a month since our last episode.  We've all been incredibly busy so we hope you've been patient waiting and maybe, just maybe it was worth the wait!  We've crammed quite a bit into this...

Can I download this Coding Blocks episode?

Yes, you can download this episode by clicking the download button on the episode player, or subscribe to the podcast in your preferred podcast app for automatic downloads.
URL copied to clipboard!