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

dig in get familiar with the code to be a better tester
SMART_READER_LITE
LIVE PREVIEW

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:


slide-1
SLIDE 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 ¡

¡ ¡

slide-2
SLIDE 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. ¡

slide-3
SLIDE 3

3/18/2019 1

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 | @g33klady | github.com/g33klady

Hilary Weaver-Robb SQA Architect @ Quicken Loans - Detroit

slide-4
SLIDE 4

3/18/2019 2

Digging in to Digging In

  • Commits and PRs
  • Static Analysis & Code Coverage
  • Debug Tools
  • Other Tools

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-5
SLIDE 5

3/18/2019 3

Hilary Weaver-Robb | @g33klady | github.com/g33klady

Commits and PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-6
SLIDE 6

3/18/2019 4

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.

Hilary Weaver-Robb | @g33klady | github.com/g33klady

https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

Version control

  • Git
  • TFS
  • SVN
  • Bitbucket
  • CVS
  • Mercurial

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-7
SLIDE 7

3/18/2019 5

Version control

Hilary Weaver-Robb | @g33klady | github.com/g33klady

Commits

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-8
SLIDE 8

3/18/2019 6

fork

Pull Requests or PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady master commits PR

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-9
SLIDE 9

3/18/2019 7

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-10
SLIDE 10

3/18/2019 8

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-11
SLIDE 11

3/18/2019 9

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-12
SLIDE 12

3/18/2019 10

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-13
SLIDE 13

3/18/2019 11

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady master

https://www.flickr.com/photos/fastjack/282707058/

slide-14
SLIDE 14

3/18/2019 12

PRs

Hilary Weaver-Robb | @g33klady | github.com/g33klady master

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

slide-15
SLIDE 15

3/18/2019 13

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

slide-16
SLIDE 16

3/18/2019 14

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

slide-17
SLIDE 17

3/18/2019 15

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

slide-18
SLIDE 18

3/18/2019 16

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

slide-19
SLIDE 19

3/18/2019 17

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

slide-20
SLIDE 20

3/18/2019 18

“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

slide-21
SLIDE 21

3/18/2019 19

Hilary Weaver-Robb | @g33klady | github.com/g33klady Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-22
SLIDE 22

3/18/2019 20

Hilary Weaver-Robb | @g33klady | github.com/g33klady

  • Empty String
  • Null
  • > 255 chars
  • > 1 and < 255
  • Numeric
  • Characters w/ diacritical marks
  • “Special” characters

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-23
SLIDE 23

3/18/2019 21

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

slide-24
SLIDE 24

3/18/2019 22

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

slide-25
SLIDE 25

3/18/2019 23

Hilary Weaver-Robb | @g33klady | github.com/g33klady Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-26
SLIDE 26

3/18/2019 24

Hilary Weaver-Robb | @g33klady | github.com/g33klady Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-27
SLIDE 27

3/18/2019 25

Hilary Weaver-Robb | @g33klady | github.com/g33klady

No browser? No problem!

  • Fiddler
  • Charles Proxy
  • Wireshark

Hilary Weaver-Robb | @g33klady | github.com/g33klady

slide-28
SLIDE 28

3/18/2019 26

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

slide-29
SLIDE 29

3/18/2019 27

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

slide-30
SLIDE 30

3/18/2019 28

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