JSJ 341: Testing in JavaScript with Gil Tayar
JavaScript Jabber27 Marras 2018

JSJ 341: Testing in JavaScript with Gil Tayar

Panel:
  • Aimee Knight
  • AJ O’Neal
  • Charles Max Wood
Special Guest: Gil Tayar In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more!Show Topics:0:00 – Advertisement: KENDO UI 0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous!1:13 – Gil talks about where he resides and his background. 2:27 – Chuck: What is the landscape like now with testing and testing tools now?2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools. We can do frontend testing that wasn’t possible 5 years ago. The major change was React.The guest talks about Node, React, tools, and more!4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what?5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider.The guest gives hypothetical situations that people could face. 6:27 – Aimee.6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but...7:22 – Aimee: I totally agree and I could go on and on and on.7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app.I guess I just need advice in this area, I guess.8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought.10:20 – Guest: Don’t mock too much.10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that.11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite.12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff.13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database.13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing.14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition.14:47 – Guest: Write the code, and then write the tests.The guest gives a hypothetical situation on how/when to test in a certain situation. 16:25 – Panel: Can you talk about that more, please?16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns.18:04 – Panel talks about dependency interjection and asks a question. 18:27 – Guest: What I am talking about very, very light inter-dependency interjection.19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it.19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc.20:09 – Panel.20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package.20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested?21:39 – Guest answers the question and mentions Selenium! 24:27 – Panel: I like that approach.24:35 – Chuck: When you say integration test what do you mean?24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time.26:54 – Advertisement – Sentry.io 27:52 – Chuck: How much do the tools matter?28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools.28:39 – Aimee: Yes and no. I think some tools are outdated.28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide?29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser.The guest continues with this topic.30:54 – Aimee mentions Cypress. 31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them.31:21 – Aimee: I think they are focusing on mobile more.31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers.32:32 – Guest: Selenium is a Swiss knife – it can do everything.33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about?33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome. 35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down?36:06 – Guest.38:30 – Chuck: You run tests against production?38:45 – Guest: Don’t run tests against production...let me clarify!39:14 – Chuck.39:21 – Guest: When I am talking about integration testing in the backend...40:37 – Chuck asks a question. 40:47 – Guest: I am constantly running between frontend and backend.I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too.43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months?43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this...44:40 – Guest: Frontend is so visual.45:12 – Chuck: What are you working on now?45:16 – Guest: I am working with Applitools and I was impressed with what they were doing.The guest goes into further detail.46:08 – Guest: Those screenshots are never the same.48:36 – Panel: It’s...comparing the output to the static site to the...48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Jaksot(735)

JSJ 300: Celebration

JSJ 300: Celebration

Panel: Charles Max WoodAimee KnightCory HouseAJ O'NealJoe EamesSpecial Guests: NoneIn this episode, the JavaScript Jabber panelists speak on where they are what they are up to today. Aimee is still in Nashville, Tennessee, and it is currently working at Built Technologies and is working with JavaScript. Cory is still authoring courses for Pluralsite, has more recently been doing consulting with React, and is the principal engineer at Cox Automotive. Joe is doing a lot of Pluralsight work, puts together conferences, and is working on a new podcast with Charles. AJ recently did some side work with Dash, is interested in working on a new domain service, and recently got married. Charles is currently at ngATL conference, and has been attending a lot of conferences recently. He is also starting to head over to the video realm and is creating a new podcast called React Roundup and a View Podcast with Joe. They also talk about what they each have planned in the upcoming year for their careers and their lives.In particular, we dive pretty deep on:Built TechnologiesJavaScriptFront End and Full StackPluralsiteReact consultingCox AutomotiveFront end appsView and React podcastAngular JS to AngularPluralsight coursesBig Picture React coursesFork of Bitcoin called DashNew domain servicengATLReact Roundup PodcastNew podcasts on artificial intelligence, IOT, augmented and virtual reality game development, pythonNode, JavaScript, and RustAnd much, much more!Links:LinodeBuilt TechnologiesPluralsiteCox AutomotiveDashngATLDevChat.tv YoutubeFreshBooksPicks:CharlesATR2100 MicrophoneZoom H6Apple AirPodsngATLngGirlsAimeeImproving Ourselves to DeathWhat Does Code Readability Mean?CoryJavaScript Tip Tweet AJHow to Start a Startup YouTube SeriesSingham Movie JoeWebFlow.comSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

14 Helmi 201856min

JSJ 299: How To Learn JavaScript When You're Not a Developer with Chris Ferdinandi

JSJ 299: How To Learn JavaScript When You're Not a Developer with Chris Ferdinandi

Panel: AJ O’NealJoe EamesAimee KnightSpecial Guests: Chris FerdinandiIn this episode, JavaScript Jabber panelist speak with Chris Ferdinandi. Chris teaches vanilla JavaScript to beginners and those coming from a design background. Chris mentions his background in Web design and Web Develop that led him JavaScript development. Chris and the JSJ panelist discuss the best ways to learn JavaScript, as well as resources for learning JavaScript. Also, some discussion of technologies that work in conjunction with vanilla JavaScript.In particular, we dive pretty deep on:Teaching JavaScript - Beginners and Design patronsWeb Design and Web DevelopmentCSS Tricks Todd MottoHow to do jQuery Things without jQueryDoing things like mentors (Todd)When JavaScript makes sense.CSS is easier to learn then JS?Being good at CSS and JS at the same time?How about Node developers?jRuby, DOMDocumentationAnd much more!Links:https://github.com/cferdinandihttps://gomakethings.com @ChrisFerdinandihttps://www.linkedin.com/in/cferdinandi Picks:AJDiscover CardMistborn AimeeYour Smart Phone is Making You Stupid…Crypto CurrencyJoeMystic ValeKediChrishttps://gomakethings.comTeva MushSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

7 Helmi 20181h 11min

JSJ 298: Angular, Vue and TypeScript with John Papa

JSJ 298: Angular, Vue and TypeScript with John Papa

Panel: Charles Max WoodCory HouseJoe EamesAimee KnightSpecial Guests: John PapaIn this episode, JavaScript Jabber panelist speak with John Papa. John has been doing web programming for over twenty years on multiple platforms and has been contributing to the developer communities through conferences, authoring books, videos and courses on Pluralsight.John is on the show to discuss an articles he wrote on A Look at Angular Along Side Vue, and another article on Vue.js  with TypeScript. John talks about the new features with the different versions of Angular technologies, anxiety in the different features, comparisons between the technologies and use case with Angular.In particular, we dive pretty deep on:A look at Angular Along Side Vue - ArticleAngular 5, Amber,Vue,  React, AngularAngular 2 - different featuresCLISpell WebpackComparisons - Why the anxiety?Opinions of Angular and sprinkling in other technologiesVue is the easy to use with AngularAre there breakpoints with the uses case?Choosing technologiesTalk about working with Vue and AngularDSL - Domain Specific LanguageVue and 3rd party librariesTalk about Vue working with TypeScriptVue.js  with TypeScriptVue with TypeScript looks similar to AngularVeturWhat does 2018 have in store for Angular?Native apps and web functionalityAnd much more!Links:https://johnpapa.netVue.js  with TypeScriptA Look at Angular Along Side Vue@john_papahttps://github.com/johnpapaPicks:Coreycypress.ioCharlesE Myth RevisitedProfit First DunkirkAimeeCrucial Conversations Ripple or XRPJoeThe Greatest ShowmanBetter Late Then NeverVue7 Languages In 7 Weeks  - BookJohnJumanji 2017Emotional IntelligenceSpecial Guest: John Papa. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

31 Tammi 201842min

JSJ 297: Scrollytelling with Russell Goldenberg and Adam Pearce

JSJ 297: Scrollytelling with Russell Goldenberg and Adam Pearce

Panel: Charles Max WoodJoe EamesAimee KnightSpecial Guests: Russell Goldenberg and Adam PearceIn this episode, JavaScript Jabber panelist speak with Russell Goldenberg and Adam Pearce Russell creates visualizations, interactive graphics, and documentaries for the web. Currently an editor at The Pudding.  Adam is a graphics editor at The New York Times and a journalist engineers/developer  Russell and Adam are on the show to talk about what Scrollytelling is, as well as Scrollama. Scrollama is a modern and lightweight JavaScript library for scrollytelling using IntersectionObserver in favor of scroll events. This is a great episode to understand another technology/tool created with JavaScript.In particular, we dive pretty deep on:What is Scrollytelling!Graph Scroll libraryWhat is the intersection Observerable?How long does it take to build an interactive graphic…?How do you test something like this?Test on a lot of different devicesCan you do automated testing?Do you have to understand the use cases or can you implement quickly?Recommendation for getting started?Is this a skill set people have to have before that some on board?How do design these interactions?Scroll jackingWhat JS developers should know about this technology.Position stickyWhat are other uses cases?What can devs use it for?Tax calculatorAnd much more!Links: https://github.com/russellgoldenberg/scrollamahttps://pudding.cool/process/introducing-scrollama/ @codenberg @adamrpearcehttps://pudding.cool/http://russellgoldenberg.github.iohttps://github.com/1wheel?direction=desc&sort=created&tab=starshttps://roadtolarissa.comPicks:AdamDominion - Broad GameCharlesSmokerTiny Epic GalaxiesIndiegogo Dev Chat TVAimeeDeadlinesQuest Protein PowderJoeGiving!Board Game - AzulRusselCrokinoleBust OutSpecial Guests: Adam Pearce and Russell Goldenberg. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

23 Tammi 201842min

JSJ 296: Changes in React and the license with Azat Mardan

JSJ 296: Changes in React and the license with Azat Mardan

Panel: Charles Max WoodCory HouseJoe EamesAimee KnightSpecial Guests: Azat MardanIn this episode, JavaScript Jabber panelist speak with Azat Mardan. Azat is a return guest, previously on JSJ Episode 230. Azat is an author of 14 books on Node JS, JavaScript, and React JS. Azat works at Capital One on the technology team. Azat is the founder and creator of Node University.Azat is on the show to talk about changes in React and licensing. Some of the topics cover Facebook,  licensing with React, using the wrong version of React, patent wars, and much more in-depth information on current events in React.In particular, we dive pretty deep on:Facebook - Licensing with ReactUsing the Wrong version of React in some companiesBSD licensingPatent warsFacebook developing ReactDifference in Preact and InfernoRewriting applicationsWhat did Capital One do about the changes?React 16Pure ReactWas the BSD patents - Med and Sm CompaniesPatents explainedReact Developers at FacebookFiber - New Core ArchitectureAnd much more!Links:http://azat.cohttps://node.universityhttps://devchat.tv/js-jabber/230-jsj-node-at-capital-one-with-azat-mardanPicks:CoryAxel Rauschmayer postPrettierCharlesIndiegogo for Dev Chatforum.devchat.tvAimeeDev TeesHacker News - Question on Stack Exchange and Estimates JoeHeroku El Camino ChristmasAzatPMP Azat - Short LectureSpecial Guest: Azat Mardan. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

16 Tammi 201857min

JSJ 295: Developers as Entrepreneurs with Ryan Glover

JSJ 295: Developers as Entrepreneurs with Ryan Glover

Panel: Charles Max Wood Cory HouseJoe EamesAimee Knight  Special Guests: Ryan GloverIn this episode, JavaScript Jabber panelist speak with Ryan Glover. Ryan is on JavaScript Jabber to talks about Entrepreneurship as a developer.  Ryan runs Clever Beagle in Chicago Illinois. Clever Beagle is a mentorship company that helps people build their first software Product. Ryan and the panel discuss the many roads of entrepreneurship, startup business ideas, servicing and teaching the community, how to’s, and psychological challenges, hiring, seeing your ideas through to the end, and privilege. In particular, we dive pretty deep on:How do you get started as an entrepreneur? Clever BeagleThe Meteor ChefWhere are people getting stuck on the builds? Fear, unknownsSimple, but not easy Drive and ability to step into the unknownSurvival of the fittestHire before you are already Losing your marblesStarting on a smaller scaleHow do I know my idea is going to work? Book - Brick by BrickMultiple lines of businessManaging a portfolio of business Revenue streams Marketing QuitterWhen do I quit? 6-12 months of cash before you quitMaking mistakes in entrepreneurship?Be a reader and studyGo out a read books! Experiential not taught Luck and PrivilegeVideo - Life of Privilege Explained in a $100 RaceProcrastinate on PurposeAnd much more! Links:Clever Beagle The Meteor Chefhttps://www.linkedin.com/in/ryanggloverhttp://www.ryanglover.netBrick by BrickQuitterProcrastinate on PurposeDo Thing That Don’t Scale@rgloverPicks:CoryThe Power of MomentsThe 50th LawCharlesReactDevSummit.comIndiegogo for Dev Chat.NetRocksAimeeLife of Privilege Explained in a $100 RaceJoeEverybody LiesMurder on the Orient Express RyanTurning Pro - Steven Pressfield seriesThe Power of Beliefs in BusinessSpecial Guest: Ryan Glover. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

9 Tammi 20181h 5min

JSJ 294: Node Security with Adam Baldwin

JSJ 294: Node Security with Adam Baldwin

Panel: Charles Max WoodAJ O’NealJoe EamesSpecial Guests: Adam BaldwinIn this episode, JavaScript Jabber panelist speak with Adam Baldwin. Adam is a return guest and has many years of application security experience. Currently, Adam runs the Node Security Project/Node Security Platform, and Lift Security. Adam discusses the latest of security of Node Security with Charles and AJ. Discussion topics cover security in other platforms, dependencies, security habits, breaches, tokens, bit rot or digital atrophy, and adding security to your development.In particular, we dive pretty deep on:What is  the Node Security Project/Node Security PlatformDependency treesNPMTokens and internal dataWhat does Node Security do for me?NPX and NSPCommand Line CILBit Rot or Digital AtrophyHow often should you check repos.AdvisoriesIf I NPM install?Circle CI or TravisNSP CheckWhat else could I add to the securities?Incorporate security as you build thingsHow do you find the vulnerabilities in the NPM packagesTwo Factor authentication for NPMWeak PasswordsOL Dash?Install ScriptsFavorite Security Story?And much more!Links:Node Security Lift Securityhttps://github.com/evilpacket@nodesecurity@liftsecurity@adam_baldwinPicks:AdamKey BaseHave I been Pwned?CharlesNettie Pot convo.comAJThis Episode with Adam BaldwinFree the Future of Radical PriceMade In America Sam WaltonSonic - VGM AlbumJoePych - MovieNG ConfWhy We Don’t SuckSpecial Guest: Adam Baldwin. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

4 Tammi 20181h 8min

JSJ 293: Big Data with Nishant Thacker

JSJ 293: Big Data with Nishant Thacker

Panel: Charles Max WoodSpecial Guests: Nishant ThackerIn this episode, JavaScript Jabber speaks with Nishant Thacker. Nishant is the technical product manager for all things big data at Microsoft. Nishant mentions the many new technologies and announcements he is in-charge of at Microsoft.Nishant is on the show to talk about Big Data and gives advice on how to process data and acquire deep insight of your customers. This is a great episode to understand the development of data systems that are the backbone of some marketing tools.In particular, we dive pretty deep on:Processing MetricsProcessing into report and usable informationData lakeCollecting data pointsCreating and maintaining the data lake in its raw formScale up engines and limitsCommodity machines and leverageBig data means to scale outSpecialized engines for audio and video filesHow to have a cohesive report?Writing and Querying across dataStoring raw data and retrieve dataData clusterWhat does the data box look like?And much more!Links:https://www.linkedin.com/in/nishantthacker@nishantthackerPicks:NishantRobot ICharlesZoom H6Shure SM 58Lavalier MicsSpecial Guest: Nishant Thacker. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

28 Joulu 201734min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
ostan-asuntoja-podcast
rss-lahtijat
pomojen-suusta
taloudellinen-mielenrauha
rahapuhetta
io-techin-tekniikkapodcast
oppimisen-psykologia
rss-seuraava-potilas
inderespodi
kasvun-kipuja
sijoituspodi
hyva-paha-johtaminen
rss-markkinointiradio
leadcast
kultaiset-hoitajat
rss-rikasta-elamaa