Rohit Sharma was appointed as India's permanent Test captain, as Cheteshwar Pujara and Ajinkya Rahane were dropped for the series against Sri Lanka.
Virat Kohli stepped down as skipper following the 2-1 series defeat to South Africa in January, which saw India slip from first to third in the ICC Test rankings.
The Board of Control for Cricket in India (BCCI) announced on Saturday that recently appointed white-ball captain Rohit would also take on the Test duties, starting with the two matches against Sri Lanka in March.
There was no place in the squad for Pujara or Rahane, however. Ishant Sharma and Wriddhiman Saha were also overlooked.
The quartet will instead contest the Ranji Trophy – India's domestic first-class cricket championship – in a bid to rediscover their form.
Ravindra Jadeja was included after recovering from injury and Ravichandran Ashwin was named as part of five-spinner attack despite being a fitness concern.
The Test series will follow a three-match Twenty20 series against Sri Lanka that starts on Thursday.
Sanju Samson joined Jadeja in returning from injury for that squad, while Kohli and Rishabh Pant were rested.
Jasprit Bumrah was welcomed back into the fold after being rested for the home limited-overs series against West Indies and received the vice-captaincy for both formats.
India Test squad: Rohit Sharma, Mayank Agarwal, Ravichandran Ashwin, KS Bharat, Jasprit Bumrah, Shubman Gill, Shreyas Iyer, Ravindra Jadeja, Virat Kohli, Saurabh Kumar, Priyank Panchal, Rishabh Pant, Mohammed Shami, Mohammed Siraj, Hanuma Vihari, Jayant Yadav, Kuldeep Yadav, Umesh Yadav.
India T20 squad: Rohit Sharma, Ravi Bishnoi, Jasprit Bumrah, Yuzvendra Chahal, Deepak Chahar, Ruturaj Gaikwad, Deepak Hooda, Shreyas Iyer, Venkatesh Iyer, Ravindra Jadeja, Avesh Khan, Ishan Kishan, Bhuvneshwar Kumar, Harshal Patel, Sanju Samson, Mohammed Siraj, Kuldeep Yadav, Suryakumar Yadav.