An efficient conditional expectation algorithm for generating covering arrays has established a number of the best known upper bounds on covering array numbers. Despite its theoretical efficiency, the method requires a large amount of storage and time. In order to extend the range of its application, we generalize the method to find covering arrays that are invariant under the action of a group, reducing the search to consider only orbit representatives of interactions to be covered. At the same time, we extend the method to construct a generalization of covering arrays called quilting arrays. The extended conditional expectation algorithm, as expected, provides a technique for generating covering and quilting arrays that reduces the time and storage required. Remarkably, it also improves on the best known bounds on covering array numbers in a variety of parameter situations.