Tutorials > Programming Practices: Debugging And Testing Software
Programming Practices: Debugging And Testing SoftwareDate: 20 April 2023 | Posted by: mitsumi |
![]() Programming Practices: Debugging And Testing Software Published 4/2023 MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz Language: English | Size: 433.25 MB | Duration: 1h 15m Software practices, Debugging, Software testing, software engineering, prodcutivity, unit testing, clean code What you'll learn Basic debugging from programming practices perspective Techniques to deal with bugs Testing to avoid painful debugging in future Actionable testing and debugging techniques to improve code quality and productivity immediately Requirements Basic programming experience in any programming language Description Welcome to Debugging and Testing in Programming Practices, a one-hour course designed to help you master the art of debugging and testing your code effectively. This course covers a wide range of topics, from debugging techniques and tools to various testing methodologies, with a focus on practical programming scenarios.Note: The content of this course is also published as part of an in-depth course titled "Programming Practices Bootcamp for production ready coding."Course Outline:Debugging Course IntroductionDebugging and its importance, challenges, and techniquesDebugging Techniques and ConsiderationsStress Tests, Array Bounds, Start Small, Creating FailuresDon't Ship Test Code, Avoid Using Defaults, Test on Many MachinesTypes of TestingWhite Box Testing, Black Box Testing, User Testing, Correctness of TestsDebugging Tools and LanguagesSophisticated Tools, Errors Are Imminent, Same Time Programming As DebuggingDebugging Is Unpredictable and Time-Consuming, Techniques to Improve DebuggabilityRole of Language in DebuggingDebugger Advice and FeaturesUse Optimally, Availability, Stack Trace, Break Point, UtilityDebugger Challenges: DSL, System Dependent, Limited in Lower LevelsChoose Carefully, Don't Probe BlindlyDebugging Strategies and TipsFix Same Issue Throughout Code, Fixed Is Better Than ShippedRead Code Before Attaching Debugger, Explain Code to Someone, Collect Stack TraceSeek Patterns, Type Conversion Issues, Passing By Value and ReferenceFloat Conversion Issues, Uninitialized Variables, Start With Most Recent ChangeTesting and ToolsIntroduction, Testing Is Trying to Break Programs, Testing Can Get TrickyCode Generation, Test-Driven Development, Boundary TestingPre and Post Conditions, Using Asserts, Program Defensively, Check Errors and ExceptionsTest Automation and Systematic TestingCase for Test Automation, Automate Regression Testing, Create Self-Contained TestsDon't Reinvent The Wheel, Systematic Testing Incrementally, Start SimpleVerify Conservation Properties, Compare Independent Implementations, MeasureBy the end of this course, you'll have a solid understanding of debugging and testing techniques, and how to effectively apply them in your programming practice. With practical examples and insights, this course will help you enhance your programming skills and ensure the quality of your code. Enroll now and start mastering debugging and testing in programming practices! Overview Section 1: Bugs Everywhere!! Lecture 1 Introduction Lecture 2 Bugs seem universal Lecture 3 More components, more complexity. Lecture 4 Programming languages make an attempt to ease debugging but its upto you Lecture 5 Sophisticated tools to check correctness of programs to make debugging managable Lecture 6 Errors are imminent. Lecture 7 You will spend same time programming and debugging during your career. Lecture 8 Debugging can be unpredictable and time consuming at times Lecture 9 You must invest in techniques to make your code easier to debug Lecture 10 Role of programming language in debugging Lecture 11 Treat tool chain warning with same rigour as bugs Lecture 12 Programming language cannot prevent every error Section 2: Features of a good debugger tool Lecture 13 Ease of Availability Lecture 14 Provision to provide Stack trace Lecture 15 Break Points Lecture 16 Add value to debugging experience Lecture 17 Debugger Challenges when dealing with Domain Specific Languages Lecture 18 Debugger Challenges around platform dependencies Lecture 19 Debugger limitation Lecture 20 Does one need to be cautious while choosing a debugger? Lecture 21 Blind probing does not count as debugging! Lecture 22 Using tool is not the primary objective! Section 3: Debugging with sufficient clues and easy bugs Lecture 23 Its always the world at fault. Lecture 24 Collect the stack trace Lecture 25 Reason backward as if solving a mystery. Lecture 26 Seek Patterns Lecture 27 Type Of conversion Issues Lecture 28 When to pass by value or pass by reference? Lecture 29 Float conversion issues Lecture 30 Uninitialized Variables Lecture 31 Start with recent changes Lecture 32 Eradicate the issue not just fix an instance Lecture 33 Shipped is better than perfect. Fixed is better than shipped! Lecture 34 Debugger is not a tool to read code! Lecture 35 Take help of peers as sounding board Section 4: No Clues, Hard Bugs Lecture 36 Reproduce the issue Lecture 37 Programmatic Reproduction of issue Lecture 38 Document the Inputs causing issues Lecture 39 Observer the changes that make issue disappear Lecture 40 Study the frequency of Failure Lecture 41 Track intermediate outputs Lecture 42 Self Checking Code Lecture 43 Recording progress via log files Lecture 44 Use block diagrams to "see" the issue Lecture 45 Environment compatible tools Lecture 46 Document the investigations Lecture 47 Finally you may attach a debugger Section 5: Non Reproducible Bugs. Lecture 48 The black swans. The Ghost On the machine Lecture 49 Niche bugs Lecture 50 Other people's bugs Section 6: Testing Lecture 51 Motivation Lecture 52 Testing is not debugging! Lecture 53 Testing isn't obvious! Lecture 54 Testing benefits from codegeneration. Section 7: Test as you Code Lecture 55 Test as you develop / Test Driven Development Lecture 56 Boundary Testing Lecture 57 Pre condition and post condition testing Lecture 58 Use assert statements Lecture 59 Program Defensively Lecture 60 Check for errors and exceptions as you are coding Section 8: Automation is a boon! Lecture 61 Test automation is becoming mandatory Lecture 62 Automate your regression Testing Lecture 63 Create Self Contained Tests Lecture 64 Don't reinvent the wheel Section 9: Systematic Testing Lecture 65 Testing incrementally is recommended Lecture 66 Start with simple use cases Lecture 67 Verify Conservation Properties Lecture 68 Compare Independent Implementations Lecture 69 Measure what matters Section 10: Other consideration while testing software Lecture 70 Stress Test Lecture 71 Array bounds Lecture 72 Start with small data Lecture 73 Simulating or generating failure scenarios Lecture 74 Don't ship the test code!! Lecture 75 Case for not using default values in test cases Lecture 76 Tests in multiple environments Lecture 77 White box testing Lecture 78 Black Box Testing Lecture 79 User Testing Lecture 80 Correctness of tests? Lecture 81 Apply the knowledge! Section 11: Conclusion Lecture 82onus Lecture Beginner software developers,Computer Science students,People curious to build skill of writing production ready code,People curious to learn programming beyond competetive portal coding ![]() Download link rapidgator.net: nitroflare.com: ddownload.com: 1dl.net: See full article |