Test-driven development (یا TDD) یکی از فرآیند های توسعه نرم افزار است که درتمامی محیط های برنامه نویسی مدرن قابل اجرا است. در این روش کارایی کد های نوشته شده در هر مرحله از فرآیند توسعه نرم افزار مورد بررسی و تست قرار می گیرد. این روش برای توسعه انواع برنامه های دسکتاپ، موبایل و یا برنامه های تحت وب کاربرد دارد. آشنایی با چگونگی ایجاد، اجرا و مدیریت تست ها می تواند به عنوان مبحثی مهم در فرآین توسعه نرم افزار تلقی شود. React یک کتابخانه UI توسعه داده شده در فیسبوک، به منظور تسهیل در ایجاد تعامل، استفاده مجدد اجزاء است. فیسبوک در ساخت محصول از این استفاده می کند، و instagram بطور کامل با React نوشته شده است. یکی از نقاط منحصر به فرد آن این است که، نه تنها کارها را در سمت سرویس گیرنده انجام می دهد، بلکه در سمت سرور هم کار می کند، و اینها در کنار هم بصورت سازگار کار می کنند. همچنین از یک مفهومی به نام Virtual DOM استفاده می کند که زیر گروه های انتخابی گره ها را بر اساس شرایط ارائه می دهد. این کار را با حداقل مقدار دستکاری DOM ممکن بنظور به روز نگه داشتن اجزای شما انجام می دهد. Redux یک کتابخانه جاوا اسکریپت برای مدیریت داده های مشتری در برنامه است. شما می توانید Redux را به همراه ری اکت یا هر کتابخانه ی دیگری استفاده کنید. Redux تلاش می کند که وضعیت ها را قابل پیش بینی کند و محدودیت های خاص در چگونگی و زمان به روز رسانی وضعیت ها اعمال کند. این کمک می کند نوشتن برنامه های کاربردی که به طور مداوم تغییر می کنند، در محیط های مختلف (مشتری، سرور، و بومی) اجرا شود و به آسانی قابل درک و اشکال زدایی باشد. در دوره آموزشی Livelessons Test-Driven Development for React/Redux in an Isomorphic Application با رویکرد TDD برای ری اکت ریداکس در یک اپ ایزوفورمیک آشنا می شوید.