>  In event of multiple paths, a non-optimal solution may be returned.

Problem description clearly states there may be multiple solutions.

But in the test:

        List<Point> points1 = new ArrayList<Point>();
        points1.add(new Point(0, 0));
        //....more points........
        points1.add(new Point(2, 3));

        Assert.assertEquals(points1, lip.increasingPath(0, 0, 2, 3));

You compare the found solution (which is suboptimal) to itself after the fact. Instead you should verify that the solution is correct using the definition given in the question. e.g. 

 - first element is the solution is the given start point, 
 - last element is the given end point, 
 - each point in the path is the neighbor to another. 
 - and the values in the matrix corresponding to those points are non-decreasing.