How to update last record with second lat results [SQLServer]

I'm not sure I'm following. Given data like this:

TestergebnisID TestaufstellungID Pass        Fail
-------------- ----------------- ----------- -----------
1              1                 10          12
2              1                 5           6
3              1                 3           4
4              2                 0           0

You want to update the row with TestergebnisID = 3 with Pass and Fail from record with TestergebnisID = 2 and that's it? Or should record 2 be updated with data from record 1 too?

In case of the former, this should do the trick:

;WITH rec AS
(
    SELECT this.TestaufstellungID 
         -- most recent for the given test run
         , MAX(this.TestergebnisID) AS LastTestergebnisID 
         -- find the previous 
         , PrevTestergebnisID =
           (SELECT MAX(prev.TestergebnisID) 
              FROM Testergebnisse prev 
             WHERE prev.TestaufstellungID = this.TestaufstellungID  
               AND prev.TestergebnisID < MAX(this.TestergebnisID )
           ) 
      FROM Testergebnisse this
     GROUP BY this.TestaufstellungID
)
UPDATE mostRecent
   SET Pass = prev.Pass
     , Fail = prev.Fail
  FROM Testergebnisse mostRecent
  JOIN rec
    ON rec.LastTestergebnisID = mostRecent.TestergebnisID 
  JOIN Testergebnisse prev
    ON prev.TestergebnisID = rec.PrevTestergebnisID 

Gives:

TestergebnisID TestaufstellungID Pass        Fail
-------------- ----------------- ----------- -----------
1              1                 10          12
2              1                 5           6
3              1                 5           6       <-- 1 row affected
4              2                 0           0

If you want all of them to be updated with their predecessors' values, then:

;WITH rec AS
(
    SELECT this.TestaufstellungID 
         -- most recent for the given test run
         , this.TestergebnisID
         -- find the previous 
         , PrevTestergebnisID =
           (SELECT MAX(prev.TestergebnisID) 
              FROM Testergebnisse prev 
             WHERE prev.TestaufstellungID = this.TestaufstellungID  
               AND prev.TestergebnisID < this.TestergebnisID
           ) 
      FROM Testergebnisse this
)
UPDATE mostRecent
   SET Pass = prev.Pass
     , Fail = prev.Fail
  FROM Testergebnisse mostRecent
  JOIN rec
    ON rec.TestergebnisID = mostRecent.TestergebnisID 
  JOIN Testergebnisse prev
    ON prev.TestergebnisID = rec.PrevTestergebnisID 

This will update rows 2 (from 1) & 3 (from 2):

TestergebnisID TestaufstellungID Pass        Fail
-------------- ----------------- ----------- -----------
1              1                 10          12
2              1                 10          12       <--
3              1                 5           6        <--
4              2                 0           0