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 425: The Evolution of JavaScript

JSJ 425: The Evolution of JavaScript

Dan Shappir takes the lead and walks the panel through the history of JavaScript and a discussion on ES6, TypeScript, the direction and future of JavaScript, and what features to be looking at and looking for in the current iteration of JavaScript.PanelAJ O’NealAimee KnightCharles Max WoodSteve EdwardsDan ShappirSponsorsTaiko - free and open source browser test automationSplit____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________LinksThe TC39 ProcessLe Creuset Star Wars™ Han Solo Roaster | Williams Sonoma124 JSJ The Origin of Javascript with Brendan EichCrockford on JavaScriptLe Creuset TurkeyMJS 108: Dan ShappirMJS 132: Douglas CrockfordJSJ 392: The Murky Past and Misty Future of JavaScript with Douglas Crockford"Things You Can Do In ES6 That Can't Be Done In ES5" - View Source talk by Dan ShappirObject Property Value Shorthand in JavaScript with ES6Spread syntax - JavaScript | MDNJavaScript for-loops are… complicated - HTTP203Optional chaining - JavaScript | MDNBreaking Chains with Pipelines in Modern JavaScriptPicksAJ O’Neal:Expert SecretsCourse Creator ProBraun Series 7Aimee Knight:Kickstarter Employees Win Historic Union ElectionBroccoli Sprouts Nutrition And Benefits Of SulforaphaneCharles Max Wood:The ExpanseThe Masked SingerLEGO MastersSteve Edwards:BeanoSteve Wright HBO specialDan Shappir:CC 001: Clean Agile with Robert "Uncle Bob" Martin.NET 019: The History of .NET with Richard CampbellRRU 097: State Management and React Component Design with Becca BaileyFollow JavaScript Jabber on Twitter > @JSJabberSupport 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.

17 Maalis 20201h 18min

JSJ 424: UI5 and web components with Peter Muessig

JSJ 424: UI5 and web components with Peter Muessig

In this episode of JavaScript Jabber the panelists and guest delve into the advantages of the shadow dom, transitioning from polymer js polyfills to native web components when moving for SAP UI to UI5, which works within React, Vue, Angular, and others.PanelAJ O’NealAimee KnightSteve EdwardsDan ShappirGuestPeter MüßigFollow Peter on Twitter > @pmuessig, GithubSponsorsTaiko, free and open source browser test automation____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________LinksOpenUI5Home - SAPUI5 SDKPicksAJ O’Neal:Vinyl ClocksAcrylic StandAJ's YouTube Channel (AMA)Aimee KnightAnnouncing Div Ops as the Slack and Reddit communitiesSteve EdwardsToday on Pearls Before Swine - Comics by Stephan PastisDan ShappirThe Wixing Street Interview | Facts about Wixing in GermanyWix.com werbung | versuch nicht zu lachenUI5 Web ComponentsPeter MüßigJavaScript Jabber Follow JavaScript Jabber on Twitter > @JSJabber Special Guest: Peter Muessig. 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.

10 Maalis 202042min

JSJ 423: State of JS

JSJ 423: State of JS

The panelists discuss that latest State of JS survey. They begin talking about the merits and methods of the survey and then discuss the value you can extract from the survey. They also consider the various comparisons and trends presented by the survey and what they may mean.Panel:AJ O’NealAimee KnightCharles Max WoodDan ShappirSponsors:G2i | Enjoy the luxuries of freelancing ____________________________________________________________  "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________Links:The State of JavaScript 2019Picks:Aimee Knight:Fruit and Veggie TraysA curated list of Chaos Engineering resources.AJ O’Neal:Gear.Club UnlimitedCharles Max Wood:Clean Coders PodcastWorkshops with ChuckDan Shappir:Wix Engineering BlogBeating Textbook Algorithms in String Search Follow JavaScript Jabber on Twitter > @JSJabber   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.

3 Maalis 202050min

JSJ 422: CSS and Houdini with Una Kravets

JSJ 422: CSS and Houdini with Una Kravets

Una Kravets talks to the panel about CSS and its future. We dive into what Houdini is and how much of it is implemented in the browsers. She explains how the changes outlined in Houdini will improve the user experience on the web and developer experience for web developers.Panel:Aimee KnightAJ O’NealCharles Max WoodGuest:Una KravetsSponsors:Split____________________________________________________________  "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________Links:CSS HoudiniWorking with the new CSS Typed Object ModelPaintWorklet.registerPaint | MDNIs Houdini Ready Yet?extra.cssNew horizons in CSS: Houdini and the Paint APICSS Houdini ExperimentsPicks:Aimee Knight:Things you can do with a browser in 2020AJ O’Neal:SD Card WalletSP 128gb MicroSDRocketekCharles Max Wood:Gmelius (Affiliate link)MyPillowChilipad (Affiliate link)Una Kravets:Follow Una on Twitter - @UnaUna's Podcast - ToolsdayWeb Series: Designing in the BrowserHaving a nice CouchBob's Discount FurnitureSpecial Guest: Una Kravets. 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.

25 Helmi 20201h

JSJ 421: Semantic HTML with Bruce Lawson

JSJ 421: Semantic HTML with Bruce Lawson

Bruce Lawson is an expert in and proponent of semantic HTML. After receiving some good natured ribbing, Bruce walks the panel through the benefits of semantic HTML. He provides several examples on how it's used and in particular how it helps with other issues like accessibility and navigability on your websites.PanelAJ O’NealAimee KnightCharles Max WoodDan ShappirGuestBruce LawsonSponsorsG2iSpringboard | Promo code "JABBER" gives $500 off the job-guaranteed Course____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________LinksWebAIM: Web Accessibility In Mind<input type="date">The 4 minute business case for accessible online shoppingPicksAJ O’Neal:Better Mic SoundCanon T4i 650DCanon T5i CourseMagic LanternFilmic Pro & PromovieAimee Knight:AddyOsmani.com - Native image lazy-loading for the web!Charles Max Wood:Codineer - 100 days of Vue challengeDan Shappir:Alex Russell - The Mobile Web: MIABruce Lawson WebsiteBruce Lawson:Taffy music bandFollow Bruce on Twitter @brucelSpecial Guest: Bruce Lawson. 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.

18 Helmi 20201h 8min

JSJ 420: OpenAPI, Redoc, and API Documentation with Adam Altman

JSJ 420: OpenAPI, Redoc, and API Documentation with Adam Altman

Adam dives into how to document your application using OpenAPI (formerly Swagger) and then how to generate great documentation for your API's using Redoc. He gives us the history of Redoc, breaks down the process for building API documentation, and understanding the OpenAPI specification.PanelistsAimee KnightDan ShappirAJ ONealSteve EdwardsGuestAdam AltmanSponsorsG2i____________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________Linkshttps://twitter.com/redoclyHttps://Redoc.lyhttps://www.facebook.com/redoclyPicksSteve Edwards:https://wesbos.com/announcing-my-css-grid-course/https://flexbox.io/Aimee Knight:https://github.com/ErikCH/DevYouTubeListDan Shappir:Old Kingdom Book SeriesAJ O’Neal:Final Fantasy VII and VIII (Physical Copy, English) on Play AsiaAdam Altman:concepts.appSpecial Guest: Adam Altman. 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.

11 Helmi 202045min

JSJ 419: Google App Script with Ben Collins

JSJ 419: Google App Script with Ben Collins

Today’s guest is Ben Collins, who creates online courses, writes tutorials, and teaches workshops around G Suite and App Script. Apps Script is a scripting platform developed by Google for light-weight application development in the G Suite platform. It is an implementation of JavaScript with the express purpose of extending Google apps. App Script was started 10 years ago as a side project, and it eventually took on its own life. Ben talks about some of the different things that App Script can do and where things are stored. They discuss different ways you can get into the script and how to import external scripts from a CDN. Ben gives two examples, one simple and one sophisticated, that you might build from App Script. He talks about event triggers and how authentication is handled. He goes over the three deployment options, namely web app, app executable, sheets add-on, and deploying from the manifest. Ben talks about how triggers are managed in App Script and options for debugging. There is also the option to develop locally as well as in the browser. The show ends with him talking about how to build using HTML in App Script.PanelistsAimee KnightSteve EdwardsDan ShapirGuestBen CollinsSponsorsG2iSplit____________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________LinksG SuiteAppScriptClaspPicksSteve Edwards:King Kong ApparelAimee Knight:Developers Mentoring Other DevelopersDan Shapir:The Web AlmanacAJ O’Neal:PhotographyMagic LanternBem Collins:Cold Turkey appFollow Ben at Benlcollins.com and TwitterSpecial Guest: Ben Collins. 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 Helmi 202049min

JSJ 418: Security Scary Stories and How to Avoid Them with Kevin A McGrail

JSJ 418: Security Scary Stories and How to Avoid Them with Kevin A McGrail

In this episode of JavaScript Jabber the panel interviews security expert, Kevin A. McGrail. He starts by explaining what security frameworks and what they do. The panel wonders how to know if your developers are capable of self-auditing your security or if you need help. Kevin shares recommendations for companies to look at to answer that question. Aimee Knight explains the hell she has been in making changes to be compliant with CCPA. The panel considers how policies like this complicate security, are nearly impossible to be compliant with and how they can be weaponized. They discuss the need for technical people to be involved in writing these laws. Kevin explains how you can know how secure your systems actually are. He shares the culture of security first he tries to instill in the companies he trains. He also trains them on how to think like a bad guy and explains how this helps developers become security first developers. The panel discusses how scams have evolved and how the same scams are still being run. They consider the importance of automated training and teaching developers to do it right the first time.Finally, they consider the different ways of authentication, passwords, passphrases, sim card, biometrics. Kevin warns against oversharing or announcing vacations. The panel discusses real-world tactics bad guys use. Kevin explains what he trains people to do and look out for to increase security with both social engineering and technical expertise. PanelistsAimee KnightAJ O’NealCharles Max WoodDan ShappirSteve EdwardsGuestKevin A McGrailSponsors ABOUT YOU | aboutyou.com/applySplitCacheFly____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________LinksGhost in the Wireshttps://www.infrashield.com/ Follow DevChatTV on Facebook and Twitter PicksAimee Knight:The More Gender Equality, the Fewer Women in STEM  AJ O’Neal:I'll Let Myself In: Tactics of Physical Pen Testers  Copying Keys from Photos, Molds & More  The LED Traffic Light and the Danger of "But Sometimes!"  Regina Spektor  The Weepies  Dan Shappir:This is what happens when you reply to spam email  What is Your Password?  Kevin A McGrail:XKCD Security  IT Crowdhttps://spamassassin.apache.org/Steve Edwards:XKCD Password Generator  Nerd SnipingSpecial Guest: Kevin A. McGrail. 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 Tammi 20201h 29min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
rss-rahapodi
mimmit-sijoittaa
psykopodiaa-podcast
ostan-asuntoja-podcast
oppimisen-psykologia
pomojen-suusta
rss-rahamania
taloudellinen-mielenrauha
sijoituskaverit
rss-lahtijat
herrasmieshakkerit
kasvun-kipuja
yrittaja
hyva-paha-johtaminen
rss-h-asselmoilanen
rss-turvacast
rss-yrittajan-mielenmatka
rss-merja-mahkan-rahat
mihin-sita-saastais