Tags
Language
Tags
July 2025
Su Mo Tu We Th Fr Sa
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Programming Practices: Debugging And Testing Software

    Posted By: ELK1nG
    Programming Practices: Debugging And Testing Software

    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 82 [Bonus 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