Viviporous refers to any animal which births live young, and this includes those that keep fertilized eggs inside the body until the young have completed gestation. It does not specify mammals. Ovoviviparous refers to eggs that are held inside the body for gestation and receive minimal nutrients from the parent, and is specific to fish, insects, and reptiles. Ovoviviparous is the more accurate, yet less commonly used, term for guppies. So, an animal can accurately be considered both, but mammals are not considered ovoviviparous (at least, none that I know of!), and there are mammals that lay eggs--the monotremes, including the platypus and echinda.
Interestingly, there are many snakes that bear live young, and the term also describes seahorses, where internal gestational care is provided by the male.