In real time project, who provides BDD scenarios (cucumber feature file) to be automated? Is it already provided by the business or QA person has to write it?
This depends who you let write them. It is not like there is a rule whom should write them.
At least the "Feature:" part of the BDD should be written by a business person as user-story format is from a business perspective. The "Scenario:" examples could be written by others:
- Product Owner: In Agile teams I think this is a great candidate.
- QA: BDD Scenarios or Acceptance steps are tests, so letting test-minded people write them makes sense.
- Developer: If no one else writes them this person could also write them if they want to work test-first.
Personally I would hold Specification by Example workshops and let the team define them together including business people, developers and qa.
Preferrably, the feature files are not provided but are created in a collaborative effect between tester, developer and product owner. Commonly referred as the three amigos concept. See also thoughts on this from the creators of cucumber https://cucumber.io/blog/2014/03/03/the-worlds-most-misunderstood-collaboration-tool