Logo

    unit testing

    Explore " unit testing" with insightful episodes like "E16: Testing Evolution & No-Code Solutions", "Web Development Frameworks: Elixir and Phoenix vs. Ruby on Rails with Owen Bickford & Dan Ivovich", "18: Test-Driven Development", "Question about testing a reusable component" and "The Art of Unit Testing • Roy Osherove & Dave Farley" from podcasts like ""Command+Shift+Left", "Elixir Wizards", "Rechenzeit", "The Call Kent Podcast" and "GOTO - Today, Tomorrow and the Future"" and more!

    Episodes (29)

    E16: Testing Evolution & No-Code Solutions

    E16: Testing Evolution & No-Code Solutions

    In this podcast episode, we discuss how testing is becoming more human-like across all levels, including API and Unit tests, driven by new tools that focus on real-world scenarios. We debunk the myth that design skills are innate, showing how they're rooted in science and can be learned like any other skill. Topics like color theory and psychological principles are highlighted for their role in enhancing developer skills. Finally, we examine the rapid growth of the low-code market, projecting that 65% of applications will use no-code solutions by 2024, leading to a significant shift in application development and management.

    Stay updated with new weekly episodes every Thursday – and don't forget to subscribe! For more behind-the-scenes content, follow us @justshiftleft on Facebook, Instagram, Twitter, and LinkedIn.

    Web Development Frameworks: Elixir and Phoenix vs. Ruby on Rails with Owen Bickford & Dan Ivovich

    Web Development Frameworks: Elixir and Phoenix vs. Ruby on Rails with Owen Bickford & Dan Ivovich
    On today’s episode, Elixir Wizards Owen Bickford and Dan Ivovich compare notes on building web applications with Elixir and the Phoenix Framework versus Ruby on Rails. They discuss the history of both frameworks, key differences in architecture and approach, and deciding which programming language to use when starting a project. Both Phoenix and Rails are robust frameworks that enable developers to build high-quality web apps—Phoenix leverages functional programming in Elixir and Erlang’s networking for real-time communication. Rails follows object-oriented principles and has a vast ecosystem of plug-ins. For data-heavy CRUD apps, Phoenix's immutable data pipelines provide some advantages. Developers can build great web apps with either Phoenix or Rails. Phoenix may have a slight edge for new projects based on its functional approach, built-in real-time features like LiveView, and ability to scale efficiently. But, choosing the right tech stack depends heavily on the app's specific requirements and the team's existing skills. Topics discussed in this episode: History and evolution of Phoenix Framework and Ruby on Rails Default project structure and code organization preferences in each framework Comparing object-oriented vs functional programming paradigms CRUD app development and interaction with databases Live reloading capabilities in Phoenix LiveView vs Rails Turbolinks Leveraging WebSockets for real-time UI updates Testing frameworks like RSpec, Cucumber, Wallaby, and Capybara Dependency management and size of standard libraries Scalability and distribution across nodes Readability and approachability of object-oriented code Immutability and data pipelines in functional programming Types, specs, and static analysis with Dialyzer Monkey patching in Ruby vs extensible core language in Elixir Factors to consider when choosing between frameworks Experience training new developers on Phoenix and Rails Community influences on coding styles Real-world project examples and refactoring approaches Deployment and dev ops differences Popularity and adoption curves of both frameworks Ongoing research into improving Phoenix and Rails Links Mentioned in this Episode: SmartLogic.io (https://smartlogic.io/) Dan’s LinkedIn (https://www.linkedin.com/in/divovich/) Owen’s LinkedIn (https://www.linkedin.com/in/owen-bickford-8b6b1523a/) Ruby https://www.ruby-lang.org/en/ Rails https://rubyonrails.org/ Sams Teach Yourself Ruby in 21 Days (https://www.overdrive.com/media/56304/sams-teach-yourself-ruby-in-21-days) Learn Ruby in 7 Days (https://www.thriftbooks.com/w/learn-ruby-in-7-days---color-print---ruby-tutorial-for-guaranteed-quick-learning-ruby-guide-with-many-practical-examples-this-ruby-programming-book--to-build-real-life-software-projects/18539364/#edition=19727339&idiq=25678249) Build Your Own Ruby on Rails Web Applications (https://www.thriftbooks.com/w/build-your-own-ruby-on-rails-web-applications_patrick-lenz/725256/item/2315989/?utm_source=google&utm_medium=cpc&utm_campaign=low_vol_backlist_standard_shopping_customer_acquisition&utm_adgroup=&utm_term=&utm_content=593118743925&gad_source=1&gclid=CjwKCAiA1MCrBhAoEiwAC2d64aQyFawuU3znN0VFgGyjR0I-0vrXlseIvht0QPOqx4DjKjdpgjCMZhoC6PcQAvD_BwE#idiq=2315989&edition=3380836) Django https://github.com/django Sidekiq https://github.com/sidekiq Kafka https://kafka.apache.org/ Phoenix Framework https://www.phoenixframework.org/ Phoenix LiveView https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html#content Flask https://flask.palletsprojects.com/en/3.0.x/ WebSockets API https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API WebSocket connection for Phoenix https://github.com/phoenixframework/websock Morph Dom https://github.com/patrick-steele-idem/morphdom Turbolinks https://github.com/turbolinks Ecto https://github.com/elixir-ecto Capybara Testing Framework https://teamcapybara.github.io/capybara/ Wallaby Testing Framework https://wallabyjs.com/ Cucumber Testing Framework https://cucumber.io/ RSpec https://rspec.info/

    18: Test-Driven Development

    18: Test-Driven Development
    Test-Driven Development (TDD), Test-First-Ansatz - das sind Vorgehensweisen, die schon lang bekannt und auch allgemein anerkannt sind.

    Leider herrscht bei uns Softwarearchitekten vom Dienst der Eindruck vor, dass TDD in unserer Industrie bei Weitem nicht in ausreichender Breite und Konsequenz eingesetzt wird.

    Mit Richard Wallintin begrüßen wir in dieser Folge einen aufrechten Kämpfer für das Wahre und Gute (gemeint ist hier wieder TDD), der auch wirklich in der Lage ist, andere mit seiner Begeisterung anzustecken. Lasst euch inspirieren!

    The Art of Unit Testing • Roy Osherove & Dave Farley

    The Art of Unit Testing • Roy Osherove & Dave Farley

    This interview was recorded for the GOTO Book Club.
    http://gotopia.tech/bookclub

    Roy Osherove - Author of "The Art of Unit Testing"
    Dave Farley - Co-Author of "Continuous Delivery"

    You can find more content like this on Dave’s "Continuous Delivery YouTube Channel": https://www.youtube.com/channel/UCCfqyGl3nq_V0bo64CjZh8g

    DESCRIPTION
    Good tests are crucial to any software project, and having a test-driven approach should be part of most projects’ goals nowadays. Yet testing can be difficult due to its complexity and challenges. Join a deep dive on how to approach unit testing with the author of “The Art of Unit Testing,” Roy Osherove, and a strong promoter of test-driven design, Dave Farley.
    The interview is based on Roy's book "The Art of Unit Testing": https://bit.ly/3obiKNB

    Read the full transcription of the interview here:
    https://gotopia.tech/bookclub/episodes/getting-started-with-unit-testing

    RECOMMENDED BOOKS
    Roy Osherove • The Art of Unit Testing • https://bit.ly/3obiKNB
    Roy Osherove • Elastic Leadership • https://amzn.to/3fxEgID
    Roy Osherove • Notes to a Software Team Leader • https://amzn.to/3wjroxJ
    Dave Farley & Jez Humble • Continuous Delivery • https://amzn.to/3ocIHwd
    David Farley • Modern Software Engineering • https://amzn.to/3GI468M
    David Farley • Continuous Delivery Pipelines • https://leanpub.com/cd-pipelines
    Patterson, Grenny, Maxflied, McMillan & Switzler • Influencer: The Power to Change Anything • https://amzn.to/3hMGrdU

    https://twitter.com/GOTOcon
    https://www.linkedin.com/company/goto-
    https://www.facebook.com/GOTOConferences

    Looking for a unique learning experience?
    Attend the next GOTO conference near you! Get your ticket at https://gotopia.tech

    SUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted almost daily.
    https://www.youtube.com/user/GotoConferences/?sub_confirmation=1

    Twitter
    Instagram
    LinkedIn
    Facebook

    Looking for a unique learning experience?
    Attend the next GOTO conference near you! Get your ticket: gotopia.tech

    SUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted daily!

    Episode #035: Successful Unit Testing Through Collaboration with Your Unit

    Episode #035: Successful Unit Testing Through Collaboration with Your Unit

    We know, we know! It's been too long between episodes, but we had some speaking engagements, conferences, and general life going into November and here we are.

    In this episode we cover unit testing, what it means to security vs what it means to engineers and some learning along the way as we dig into what makes a good unit test. All to often security engineers are telling development teams they need to write security unit tests, but they don't say how or what to write. We go through definitions, potential examples, and a bit of debate on this riveting nerd out of an episode of R2DSO.


    Question about testing alongside RTL

    Question about testing alongside RTL

    We use RTL at work and I also use it for personal project. I understand what RTL is and what it isn't. My question is what are you using alongside RTL in terms of frontend testing? At work I'm pondering implementing Visual Regression testing on a large React application to cover things like unwanted CSS changes, but am also afraid of the overhead. Also, have you found any times that unit testing > RTL?

    Exploring Test-Driven iOS Development with Jon Reid

    Exploring Test-Driven iOS Development with Jon Reid

    In this episode of Semaphore Uncut, Jon Reid, leading expert in unit testing and test-driven development (TDD) for iOS, talks about the importance of shaping production code in response to tests.

    Jon is a Technical Agile Coach and the author of iOS Unit Testing by Example, XCTest Tips and Techniques Using Swift book.

    Key takeaways:

    • From Objective C to Swift
    • Rapid test-driven development in iOS
    • Fewer end-to-end, more unit-tests in iOS
    • The real meaning behind the Testing Pyramid
    • F-I-R-E: Understanding unit testing dependencies
    • Test-Driven Development as a practice
    • Bringing yourself to your code

    About Semaphore Uncut
    In each episode of Semaphore Uncut, we invite software industry professionals to discuss the impact they are making and what excites them about the emerging technologies.



    Unit-testing 101

    Unit-testing 101

    Alex gives an introduction to unit-testing on iOS. He talks about what unit-testing is, how unit-tests are structured, and best practices on organizing your test code. He also touches upon mocking/stubbing and testing side effects as well.

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview
    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist
    Need to prepare for an iOS Engineer Interview?
    https://iosinterviewguide.com
    Connect with us: https://twitter.com/insideiosdev
    Email us at hello@insideiosdev.com

    15. O Test Smells z Olą Kunysz

    15. O Test Smells z Olą Kunysz

    Materiały dodatkowe:

    Episode 15: End to End Testing with Amir Rustamzadeh

    Episode 15: End to End Testing with Amir Rustamzadeh
    Sponsored By:
    Show Notes [00:01:27] Ben jumps in right away and asks Amir when it comes to front end frameworks what was his first one and how did he come to join the Vue community? [00:03:46] Amir talks about how he’s heading up developer experience. He announces Ben is on the team now! YAY BEN! ☺ [00:05:07] Tessa wonders when Amir is going around to solve problems, does he find that a lot of teams have very different ways of looking at Cypress usage or end to end testing, and if so, how does he resolve that or try to work on this kind of experience that works for everyone? [00:06:47] Chris and Amir explain what end to end testing is. [00:13:23] Ben explains what end to end testing means to him and Chris talks about the two things that you need to test in your application. [00:21:54] Amir talks about something he’s been advocating for recently that has to do with testing and developing apps, so listen here find out. He also explains “introspection.” [00:26:30] A great question is asked by Ari who wants to know what are some of the barriers to entry that people find that is making it so they’re not doing this and how can you address those issues? Amir responds. [00:29:04] Tessa asks Amir if he’s speaking to a team that has a setup already, where would he have them start or how would he convince them to adopt a different testing? [00:38:31] Amir talks about what Cypress released in the recent version of Cypress 4.3 and 4.4, which is better error reporting that is significantly better. There are also some new improvements on the way as well. Picks of the week: [00:39:56] Ari has two picks: a TV show on Hulu called, “Future Man.” Also, two songs by the band, Moderat, which are, “Seamonkey” and “Porc #1.” [00:41:27] Chris has four picks: Wait… he has to sneeze, Ok, he’s good! LOL. His first pick is for you to give Vue one day to play around it. Just try it and he will never bug you again. Also, try Cypress. Please give it a try. His next pick is music by Sara Bareilles. He’s been listening to the soundtrack from, “Waitress” which she did the music for. His third pick is a puzzle story game called, “The Turing Test.” His fourth pick is the ASUS PA329Q 32inch 4K monitor which he’s heard great things from Ben. [00:44:58 Amir has two picks: “The Houseparty” app to connect with family and friends. His second pick is an App called, “Whimsical.” [00:46:40] Tessa’s has three picks: watch the “Super-sized Psychtacular Binge-a-thon” on USA Network. Her second pick is watching YouTube videos on yoga and stretching that you can do at your desk or at home. It’s great to wake you up and keeps your shoulders from getting too stiff! Her third pick is getting into mentorship this year to help other people. [00:47:44] Ben’s has two picks: Coffee Shop Zoom Virtual Backgrounds and acoustic or coffeehouse music on Spotify, for those who miss going to coffeeshops. His second pick is the ASUS PA329Q 32i” 4K monitor he recently upgraded to that Chris trolled him on earlier ☺ Resources mentioned Amir Rustamzadeh Twitter (https://twitter.com/amirrustam?lang=en) Cypress (https://www.cypress.io/) Vue.js (https://vuejs.org/) “Future Man”-Hulu (https://www.hulu.com/series/future-man-6771f12e-3195-4844-b489-f21732aa789b?&cmp=8762&utm_source=google&utm_medium=SEM&utm_campaign=CM_SEM_FutureMan%20_Launch_Q4_2017&utm_term=future%20man%20hulu&ds_rl=1251123&gclid=CjwKCAjwv4_1BRAhEiwAtMDLso6cGBTOq16_q_6HQYWvI5Y5XjdEJqJunSdUq-NqD-yFirZ69WziQxoCPf8QAvD_BwE&gclsrc=aw.ds) “Seamonkey” and “Porc #1” by Moderat (https://open.spotify.com/album/2HEh23ogCT3wiYfag2iMxD?highlight=spotify:track:7yQYuDWHOcEwngp2cYmQkC) “Waitress” soundtrack by Sara Bareilles (https://open.spotify.com/album/1s6codM2ZAB008t9GTyaEk) Houseparty app (https://houseparty.com/) Whimsical (https://whimsical.com/) “Super-sized Psychtacular Binge-a-thon”-USA Network (https://www.usanetwork.com/psych/blog/biggest-psych-binge-a-thon-ever-coming-this-april) YouTube Full Body Flow-Yoga With Adriene (https://www.youtube.com/watch?v=b1H3xO3x_Js) Mentorship (https://www.micromentor.org/) Zoom Virtual Background (https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background?mobile_site=true) ASUS PA329Q 32” 4K monitor (https://www.amazon.com/ASUS-PA329Q-3840x2160-ProArt-Monitor/dp/B01F6D1ITM) Sponsor: Linode (https://promo.linode.com/vue/) Special Guest: Amir Rustamzadeh.

    Episode[14]: Unit Testing 101

    Episode[14]: Unit Testing 101

    Because of the high complexity and depth of this episode, we will share with you the episode outline and the topics discussed here as a reference.

    Episode Outline:

    What is unit testing?

    test for the smallest possible pieces of your program.

    كل حاجة فيها سليمة بس لوحدها - سلطان السكري

    Why Unit Testing

    1. Help the developer deeper understand the logic he/she is implementing.
    2. Help developer writes more modular, loosely coupled code.
    3. Make it faster to develop and debug. (You can fake all the possible scenarios and see how the test is responding to each)
    4. Find bugs early.
    5. Help with documenting the code you are doing.
    6. Help when it comes to refactoring.
    7. It helps to automate the development process and decrease deployment-related friction.

    Unit Testing Best Practices

    1- Identifying Units:

    When it comes to the unit you are testing, you need to answer three questions.

    a. What is the output of this unit?

    b. What helper functions that this unit is using to achieve that output?

    c. Are there any side effects resulting from this unit. (it modifies state variables outside its scope).

    2- Naming & Description

    Why? it makes the test easier to read and hence easier to figure out what went wrong.

    Describe & It. (This thing / should or does something)

    - The search function should return an array of strings matching the search keyword.

    - The search function should return an empty array when a keyword is not matching any.

    - throw an exception if the keyword is an empty string.

    3- Mocking & Stubs

    - The unit test is 50% mocking and 50% clean code.

    • Check Martin Fowler's article in the for more depth in mocking 

    Check the resources section.

     

    References:

    Episode Picks:

    Episode 11: Test Driven Development (feat. Sarah Dayan)

    Episode 11: Test Driven Development (feat. Sarah Dayan)
    Sponsored By:
    Show Notes [00:02:37] Sarah was on the docket to speak at VueConfUS. Since it got cancelled, she shares those of us Stateside all about testing in Vue and why TDD is great. [00:05:25] Ari asks Sarah about what a contract in a component and what it means. Sarah breaks this down with a very simple example, a button. [00:09:50] Ben gets Sarah’s thoughts on end to end testing. She makes a case for Test Driven Development applying to more than just unit tests. [00:15:51] Tessa who saw one of Sarah’s presentations on TDD, asks her about her “tip” on when to test and when not to test. Sarah puts it simply, the question to ask is: “Do I care about it if it changes?”. [00:21:40] Sarah give us some good practices that you may want to implement when testing. Whether you are doing unit or end to end testing. [00:24:51] After Tessa asks Sarah about Snapshot Tests and whether a link text fits in a Unit Test. Sarah believes Snapshot Tests are better when you want to test logs or code. She feels they should not be used in place of Unit Tests, since they cannot test behaviour. [00:28:33] Ben talks about how some Dev’s have an obsession with getting 100’s on Code Coverage Reports. Sarah goes into how not to get caught up in the “vanity metrics”. The group joke around how it that obsession may originate from gaming and how we have to collect every coin and badge. [00:34:23] Tessa enquires about testing for accessibility. [00:39:34] Ari gives an example of working at a fast paced start-up, and whether or not TDD can reconcile when you don’t have clear cut requirements. Is it even possible? Sarah shows how it can save money since everything won’t need to be retested by hand. About our guest: Sarah Dyan - Twitter @frontstuff_io (https://twitter.com/frontstuff_io) - Website (https://sarahdayan.dev/) Sarah's picks - XState (state machines/statecharts library) (https://xstate.js.org/) - Vuex ORM (object-relational mapping access to the Vuex store) (https://github.com/vuex-orm/vuex-orm) - The 100 on Netflix (https://www.netflix.com/title/70283264) - Master of None on Netflix (https://www.netflix.com/title/80049714) Tessa's picks - The Good Place - NBC/Netflix (https://www.nbc.com/the-good-place) - Anne with an E - Netflix (https://www.netflix.com/title/80136311) - Dispatches from Elsewhere - AMC (https://www.amc.com/shows/dispatches-from-elsewhere) - We Should Get Together (Kat Vellos) - Book (DRM-free via her website and her preferred method to purchase iirc https://weshouldgettogether.com/products/epub-we-should-get-together-the-secret-to-cultivating-better-friendships (https://weshouldgettogether.com/products/epub-we-should-get-together-the-secret-to-cultivating-better-friendships)) - Animal Crossing - Switch (https://www.animal-crossing.com/new-horizons/) - Vue DC remote meetup (https://www.meetup.com/Vue-DC/) Other resources mentioned - Pro Plan Algolia - Help Coronavirus (https://blog.algolia.com/supporting-our-communities-during-this-time-of-need/) - Testing Library by Kent C Dodds (https://kentcdodds.com/blog/introducing-the-react-testing-library) - Dinero.js - Sarah Dayan (https://dinerojs.com/) Sponsor: Linode (https://promo.linode.com/vue/) Special Guest: Sarah Dayan.

    Testing, Testing, Testing - Pt. 1

    Testing, Testing, Testing - Pt. 1
    As a minimum, you need testers who understand the testing process and how to navigate their way around your new system. But the best testers are people who take delight in breaking things and can articulate precisely how they broke them.


    Key Takeaway: Even the most well developed SAAS solutions need extensive testing to avoid process errors, data breaches, failed integrations and operational issues when they go live.

    Welcome to season two of the Underscore Transformation Podcast. We hope you enjoy this episode exploring the importance of comprehensive testing when rolling out a new system during your business transformation. This season focuses on the Build phase of transformation and follows on directly from season one (Scoping). If you haven't already, we recommend you listen to episodes 2-11 of season one as we will refer back to these topics, and they are vital in building the foundation knowledge required to move into the next phase of transformation.

    Season two will cover the following points:  
    1. Resource your programme team
    2. Build your future support model
    3. Manage business change
    4. Solution design
    5. Get the best out of suppliers
    6. Target Operating Model – detailed design
    7. Integrations & Reporting
    8. Data
    9. Testing, testing, testing
    10. Governance & control

    We will soon be releasing our white paper on the above points, which will be available for download via our website.

    If you'd like to be notified of when this becomes available, please contact us via email, or register your interest via our website.

    We’re always looking for ways to improve our content and would love to hear your feedback. If you would like to join the conversation, please contact Jason West to join our WhatsApp group.

    Follow us on social media: @UnderscoreComms, find us on LinkedIn, or get in touch via email at enquiries@underscore-group.com

    Visit our website to find more content on transformation, project resourcing, and talent development. 

    This episode was recorded and produced by Matt Gore of icon business media.

    Episode[2]: Overview On Software Development Processes

    Episode[2]: Overview On Software Development Processes

    Stuff mentioned in this podcast: