dig in get familiar with the code to be a better tester
play

Dig In: Get Familiar with the Code to Be a Better - PDF document

W11 Test Techniques 2019-05-01 13:30 Dig In: Get Familiar with the Code to Be a Better Tester Presented by:


  1. ¡ ¡ ¡ ¡ ¡ W11 ¡ Test ¡Techniques ¡ 2019-­‑05-­‑01 ¡13:30 ¡ ¡ ¡ ¡ ¡ ¡ ¡ Dig ¡In: ¡Get ¡Familiar ¡with ¡the ¡Code ¡to ¡Be ¡ a ¡Better ¡Tester ¡ ¡ Presented ¡by: ¡ ¡ ¡ Hilary ¡Weaver-­‑Robb ¡ Quicken ¡Loans ¡ ‘ ¡ ¡ ¡ Brought ¡to ¡you ¡by: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ 888 -­‑-­‑-­‑ 268 -­‑-­‑-­‑ 8770 ¡ ·√·√ ¡904 -­‑-­‑-­‑ 278 -­‑-­‑-­‑ 0524 ¡-­‑ ¡info@techwell.com ¡-­‑ ¡ http://www.stareast.techwell.com ¡ ¡ ¡

  2. ¡ Hilary ¡Weaver-­‑Robb ¡ ¡ Hilary ¡Weaver-­‑Robb ¡is ¡a ¡software ¡quality ¡architect ¡at ¡Detroit-­‑based ¡Quicken ¡Loans. ¡She ¡ is ¡a ¡mentor ¡to ¡her ¡fellow ¡QA ¡team ¡members, ¡makes ¡friends ¡with ¡developers, ¡and ¡helps ¡ teams ¡level-­‑up ¡their ¡quality ¡processes, ¡tools, ¡and ¡techniques. ¡Hilary ¡has ¡always ¡been ¡ passionate ¡about ¡improving ¡the ¡relationships ¡between ¡developers ¡and ¡testers, ¡and ¡ evangelizes ¡software ¡testing ¡as ¡a ¡rewarding, ¡viable ¡career. ¡She ¡runs ¡the ¡Motor ¡City ¡ Software ¡Testers ¡user ¡group, ¡working ¡to ¡build ¡a ¡community ¡of ¡quality ¡advocates. ¡Hilary ¡ tweets ¡(a ¡lot) ¡as ¡@g33klady, ¡and ¡you ¡can ¡find ¡tweet-­‑by-­‑tweet ¡recaps ¡of ¡conferences ¡ she's ¡attended, ¡as ¡well ¡as ¡her ¡thoughts ¡and ¡experiences ¡in ¡the ¡testing ¡world, ¡at ¡ g33klady.com. ¡

  3. 3/18/2019 Digging In Getting Familiar With The Code To Be A Better Tester Hilary Weaver-Robb | @g33klady | github.com/g33klady New slides, who dis? Hilary Weaver-Robb SQA Architect @ Quicken Loans - Detroit Hilary Weaver-Robb | @g33klady | github.com/g33klady 1

  4. 3/18/2019 Digging in to Digging In • Commits and PRs • Static Analysis & Code Coverage • Debug Tools • Other Tools Hilary Weaver-Robb | @g33klady | github.com/g33klady 2

  5. 3/18/2019 Hilary Weaver-Robb | @g33klady | github.com/g33klady Commits and PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady 3

  6. 3/18/2019 Version control Version control (or source control) is a system that records changes to a file or set of files over time so that you can recall specific versions later. https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control Hilary Weaver-Robb | @g33klady | github.com/g33klady Version control • Git • TFS • SVN • Bitbucket • CVS • Mercurial Hilary Weaver-Robb | @g33klady | github.com/g33klady 4

  7. 3/18/2019 Version control Hilary Weaver-Robb | @g33klady | github.com/g33klady Commits Hilary Weaver-Robb | @g33klady | github.com/g33klady 5

  8. 3/18/2019 Pull Requests or PRs master fork commits PR Hilary Weaver-Robb | @g33klady | github.com/g33klady PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady 6

  9. 3/18/2019 PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady 7

  10. 3/18/2019 PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady 8

  11. 3/18/2019 PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady 9

  12. 3/18/2019 PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady 10

  13. 3/18/2019 PRs Hilary Weaver-Robb | @g33klady | github.com/g33klady PRs master https://www.flickr.com/photos/fastjack/282707058/ Hilary Weaver-Robb | @g33klady | github.com/g33klady 11

  14. 3/18/2019 PRs master Hilary Weaver-Robb | @g33klady | github.com/g33klady Why care about commits and PRs? • Learn about & understand code changes firsthand • Get familiar with the codebase • Save time • Not about trust! Hilary Weaver-Robb | @g33klady | github.com/g33klady 12

  15. 3/18/2019 How to see commits and PRs? • Get any required permissions • Learn the VCS • Ask to be included in PR & code reviews • Tread carefully (if needed) Hilary Weaver-Robb | @g33klady | github.com/g33klady Static Analysis & Code Coverage Hilary Weaver-Robb | @g33klady | github.com/g33klady 13

  16. 3/18/2019 Static Analysis Examining the code without executing it; providing understanding of code structure and ensuring the code adheres to industry standards “It does not prove that your program is correct. It just provides another set of eyes to help spot problems.” Hilary Weaver-Robb | @g33klady | github.com/g33klady Hilary Weaver-Robb | @g33klady | github.com/g33klady 14

  17. 3/18/2019 Types of Issues • Cosmetic • Code Smells • Bugs • Vulnerabilities Hilary Weaver-Robb | @g33klady | github.com/g33klady Static Analysis Hilary Weaver-Robb | @g33klady | github.com/g33klady https://docs.sonarqube.org 15

  18. 3/18/2019 Static Analysis Hilary Weaver-Robb | @g33klady | github.com/g33klady https://docs.sonarqube.org Why care about static analysis? • Learn about the “health” of the codebase • Visibility into bugs we may not see otherwise • Learn about security vulnerabilities Hilary Weaver-Robb | @g33klady | github.com/g33klady 16

  19. 3/18/2019 Code Coverage Measure of how much of the code is executed when unit tests are run Or How much of the code is NOT unit tested Not How high quality the code is Hilary Weaver-Robb | @g33klady | github.com/g33klady Hilary Weaver-Robb | @g33klady | github.com/g33klady 17

  20. 3/18/2019 “Test coverage is a useful tool for finding untested parts of a codebase. Test coverage is of little use as a numeric statement of how good your tests are.” https://martinfowler.com/bliki/TestCoverage.html Hilary Weaver-Robb | @g33klady | github.com/g33klady Why care if it’s such a gamble? • Learn about dev behaviors • Learn what’s expected • Learn what’s in danger • Understand the state of the code when you get it Hilary Weaver-Robb | @g33klady | github.com/g33klady 18

  21. 3/18/2019 Hilary Weaver-Robb | @g33klady | github.com/g33klady Hilary Weaver-Robb | @g33klady | github.com/g33klady 19

  22. 3/18/2019 Hilary Weaver-Robb | @g33klady | github.com/g33klady • • Empty String Numeric • • Null Characters w/ diacritical marks • • > 255 chars ☃ • • > 1 and < 255 “Special” characters Hilary Weaver-Robb | @g33klady | github.com/g33klady 20

  23. 3/18/2019 How to see static analysis and code coverage? • Find out what tools are in use & learn them • If no tools, advocate for them! • Go rogue! Hilary Weaver-Robb | @g33klady | github.com/g33klady Dev Tools Hilary Weaver-Robb | @g33klady | github.com/g33klady 21

  24. 3/18/2019 Dev tools Suite of tools in modern browsers to assist with web development and testing • HTML, CSS, JavaScript • Network traffic • Performance • Cookies • Cache Hilary Weaver-Robb | @g33klady | github.com/g33klady Hilary Weaver-Robb | @g33klady | github.com/g33klady 22

  25. 3/18/2019 Hilary Weaver-Robb | @g33klady | github.com/g33klady Hilary Weaver-Robb | @g33klady | github.com/g33klady 23

  26. 3/18/2019 Hilary Weaver-Robb | @g33klady | github.com/g33klady Hilary Weaver-Robb | @g33klady | github.com/g33klady 24

  27. 3/18/2019 Hilary Weaver-Robb | @g33klady | github.com/g33klady No browser? No problem! • Fiddler • Charles Proxy • Wireshark Hilary Weaver-Robb | @g33klady | github.com/g33klady 25

  28. 3/18/2019 Why use dev tools? • Peek under the surface • Wealth of information where you’re already testing! • Better understanding of the application Hilary Weaver-Robb | @g33klady | github.com/g33klady Other tools Hilary Weaver-Robb | @g33klady | github.com/g33klady 26

  29. 3/18/2019 Other tools to dig in • Logs • Monitoring tools • Support tickets • Other people! Hilary Weaver-Robb | @g33klady | github.com/g33klady So dig in! Hilary Weaver-Robb | @g33klady | github.com/g33klady 27

  30. 3/18/2019 Dig it! • Learn more about the code • Spot issues earlier in the dev cycle • Pinpoint vulnerable areas • Collect & use a ton of information Hilary Weaver-Robb | @g33klady | github.com/g33klady Questions? Hilary Weaver-Robb | @g33klady | github.com/g33klady 28

Recommend


More recommend