Summarized from [Bitcoin Core's Segregated Witness announcement](https://bitcoincore.org/en/2016/06/24/segwit-next-steps/#how-segwit-was-tested):

 
 * The original version of SegWit was implemented in April through June 2015 for the Elements Project. It has facilitated every transaction on the Elements-based sidechains since then.
 * The new softfork-variant of SegWit moved to the multi-user testing stage in December 2015 by activating on the SegNet, a dedicated testnet.
 * A pull-request was submitted in April 2016 to Bitcoin Core for review.
 * Since May 2016 SegWit was enabled on the regular testnet facilitating tests in a mixed environment with non-upgraded wallets.
 * At a meeting of twenty Bitcoin Core developers in May 2016 an in-person review of SegWit's code and test coverage was performed.
 * An updated version building on the current state of Bitcoin Core's development was provided for final review in June 2016.
 
Altogether, the concept has been in development for fourteen months, and variants of SegWit have been in production and network testing for a year. The Bitcoin version has been rigorously tested for over six months. It received final review approval today and was merged to Bitcoin Core's master branch.