3. About Tech Elevator www.TechElevator.com
• 14 Week Program
• C# or Java
• ASP .NET or Spring Boot
• Databases and SQL
• APIs and REST
• HTML / CSS / JS / Vue.js
• Testing, Security, and Agile
5. About this Talk
• Aim is to widen your exposure and spark new ideas
• Focused on a wide variety of libraries
• Will not get deep into any technology
• Examples in C#, .NET Core, and XUnit
@INTEGERMAN
BUILD A
SAFETY NET
IMPROVE
TESTABILITY
IMPROVE
YOUR TESTS
REFACTOR THE
CODE
EXPAND YOUR
TESTS
15. TAMING A BIG BALL OF MUD
BUILD A
SAFETY NET
IMPROVE
TESTABILITY
IMPROVE
YOUR TESTS
REFACTOR THE
CODE
EXPAND YOUR
TESTS
WWW.KILLALLDEFECTS.COM
MATT ELAND (@INTEGERMAN)
16. BUILD A SAFETY NET
If you don’t pin down current behavior, you won’t know when you change it
WWW.KILLALLDEFECTS.COM
MATT ELAND (@INTEGERMAN)
17. Testing Object State with Snapper
GitHub Repo: https://theramis.github.io/Snapper/
@INTEGERMAN
47. Unit Testing with Scientist .NET
Unit Test
New Routine
Legacy
Routine
Scientist
.NET
Results
Publisher
GitHub Repo: https://GitHub.com/ScientistProject/Scientist.net
@INTEGERMAN
57. TOOLS & PROCESSES
Because there’s more to quality than just code
WWW.KILLALLDEFECTS.COM
MATT ELAND (@INTEGERMAN)
58. NCrunch
These lines not covered
by any tests
Covered by passing tests
Passing test, but takes
longer to execute than
other lines
@INTEGERMAN
59. Code Reviews
• All Code is Peer Reviewed before testing occurs
• Reviews can be informal to extremely formal
• Best results if
• Authors review their own code before submitting
• Reviewers make multiple “themed” passes
• Tracked via a system
@INTEGERMAN
61. Test Plans
When handing a
feature off to QA…
Provide the test plan you followed as a rough draft
Provide the list of unit tests added
Include Test Plans
in Code Review
Helps find edge cases
Helps others understand the change more
Write Test Plans
before coding
Write unit tests around test plans
Expand as needed after development work is done
@INTEGERMAN
62. CONCLUSION
•Snapper
•Selenium
•Fiddler
•Postman
Build a Safety
Net
•AutoFac
•Moq
•In Memory EF
Improve
Testability •Shouldly
•Bogus
•AutoFixture
Improve your
Tests
•Scientist .NET
•FeatureToggle
Refactor the
Code •SpecFlow
•Data-Driven Tests
Expand Your
Tests
Slides and code available at: https://GitHub.com/IntegerMan/SoftwareQualityTalk/
@INTEGERMAN
63. Ready to Learn?
Ready to Hire?
Rita Stall
Campus Director, National Live Remote
Rita@TechElevator.com
Intro to Application Architecture and ScalabilityIn this talk we'll take a look at the various components that comprise modern web applications, explore performance and scalability, and give a general overview of advanced architectural concepts like caching, CQRS, domain driven design, database partitioning, NoSQL, microservices, and containerization.By the end of this talk you should have a greater high-level understanding of modern architectural concepts and how the pieces fit together, as well as more knowledge on where and when these approaches are appropriate to use.
Yes, this is really my resume from last year. I was looking for an Angular team lead role and instead now manage a .NET services team. Life is funny.
Show of hands: who writes unit tests on a somewhat regular basis?
This is Xunit, other frameworks are Nunit and MSTest. All of which have similar syntax
If you enjoyed this talk, please give me a mention on Twitter. I’m considering applying for CodeMash and every bit helps with selection.