Try:
;WITH cte
AS(SELECT *,ROW_NUMBER() OVER(ORDER BY partNumber) rr FROM #test WHERE serialNumber IS NULL)
UPDATE c
SET serialNumber=(SELECT MAX(serialNumber) FROM #test)+rr
FROM cte c
The final result is slightly different from what you expect because of sorting by partNumber.
Regards
Echo
If the answer is helpful, please click "Accept Answer" and upvote it.