Tasting Your First Test Burger
-
Upload
tautrimas-pajarskas -
Category
Software
-
view
534 -
download
0
Transcript of Tasting Your First Test Burger
![Page 1: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/1.jpg)
Tasting Your First Test Burger
Tautrimas Pajarskas
![Page 2: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/2.jpg)
About Me:
Tautrimas Pajarskas
PHP Team Lead,Lecturer at NFQ Academy,
Striving for efficient and scalable projects development
![Page 3: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/3.jpg)
Goals Today
Observation: Automated testing is not used with legacy projects.
My goal is to encourage you to start testing.Today I will present you the HOW TO part.
![Page 4: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/4.jpg)
What is Automated Testing?
Making someone do clicking for you (:
![Page 5: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/5.jpg)
I am a Member of ONGR
We do Unit, Integration, Functional and Acceptance testing. > 90% test coverage.
![Page 6: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/6.jpg)
First Time Testing is Like Trying a Burger
Too much stuff!
![Page 7: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/7.jpg)
Continuous Integration
Example:https://travis-ci.org/ongr-io/ongr-sandbox
![Page 8: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/8.jpg)
Databases
Q: I want to test deleting a user. How to login after that?A: Use fixtures.Q: ?
![Page 9: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/9.jpg)
Which ones should I do?
Types of Tests
![Page 10: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/10.jpg)
Tools
PHPUnit or phpspec?Behat using Selenium or CasperJS?
Difficult to choose without guidance.
![Page 11: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/11.jpg)
Advice:Simply try CasperJS. Acceptance testing.
And if you cannot experiment at workDon’t do it at home!
![Page 12: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/12.jpg)
Demo Time!
![Page 13: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/13.jpg)
Demo Overview
1. Write basic CasperJS test2. Test dynamic Bootstrap feature3. Use Resurrectio recorder4. Use PhantomCSS for design testing
![Page 14: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/14.jpg)
Our Example Legacy Project
![Page 15: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/15.jpg)
First Test
![Page 16: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/16.jpg)
Taking a Screenshot for debugging
![Page 17: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/17.jpg)
Fixing Desktop Viewport Size
![Page 18: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/18.jpg)
Test Dropdown Menu Works
![Page 19: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/19.jpg)
Try out Resurrectio
https://github.com/ebrehault/resurrectio
Resurrectio is a Chrome extension allowing to record a sequence of browser actions and to produce the corresponding CasperJS script.
-- Resurrectio README.md
![Page 20: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/20.jpg)
Start the Recording
![Page 21: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/21.jpg)
Resulting Script After a Few Clicks
![Page 22: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/22.jpg)
PhantomCSS: CSS regression testing
Let’s “accidentally” change <h1> font-size down
![Page 23: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/23.jpg)
PhantomCSS: CSS regression testing
PhantomCSS is good for detecting any visual changes that are hard to sample using scripts.
Only do screenshot parts of the page. Otherwise, the change in the footer will fail every single page test in the test suite.
![Page 24: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/24.jpg)
PhantomCSS: CSS regression testing
Increasing number of screenshots can get large for GIT. Use another GIT repo for them or look up solutions offered in:
https://github.com/Huddle/PhantomCSS
![Page 25: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/25.jpg)
PhantomCSS: CSS regression testing
Use PhantomCSS only for design testing and only where it is needed.
Otherwise, screenshot diff collision madness will occur in your team (:
![Page 26: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/26.jpg)
Summary
![Page 27: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/27.jpg)
Summary for Legacy Projects
Isolate project’s testing version locally on a separate vhost and a separate DB.
Write a script that prepares project for testing. E. g. loads testing data for DB.
Start with highest level tests shown today.
![Page 28: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/28.jpg)
Summary for Legacy Projects
Later, try out your Framework testing functionality for Unit testing. You will need it for much faster and fine grained tests. Remember to delete and rewrite crappy tests!
Experiment, acquire testing skills and spread the success stories!
![Page 29: Tasting Your First Test Burger](https://reader030.fdocuments.in/reader030/viewer/2022032504/55c36541bb61eb8f7e8b467b/html5/thumbnails/29.jpg)
Thank You!
Follow hottest web technology news atfacebook.com/nfq.lt