Research Article

CIPC: A Change Impact Propagation Computing Based Technique for Microservice Regression Testing Prioritization

Algorithm 4

Multiobjective prioritization algorithm.
Declaration: multiplePrioritization (CIT, T, TQ).
Parameters: CIT (in); T, test suite (in); TQ, testing queue(out).
(1)TQ←Queue()
(2)for each tp T do
(3) tp.V←{CIT(s), stp.S}
(4)if elementmax(tp.V) > elementmax(TQ.head.V) then
(5)  if tp.S.count() >TQ.head.S.count() then
(6)   TQ.head ← tp
(7)  end if
(8)end if
(9)end for
(10)T←T - {TQ.tail}
(11)while T≠∅ do
(12) tc'←T[0]
(13)for each tc ∈ T do
(14)  if ds(TQ.S, tp.S)-dc(TQ.tail, tp) > ds(TQ.S, tp’.S)-dc(TQ.tail, tp’) then
(15)   tc'←tc
(16)  end if
(17)end for
(18) TQ.tail←tc'
(19) T←T - {TQ.tail}
(20)end while