When we are designing a new system, one of the tools we use is user stories. User stories allow us to define what the feature should do from the view point of the end user. This way we take a user centered approach to designing the system. These are also used as part of our functional testing when writing code (plugin, JavaScript, etc.) to make sure what was written matches the user story. Even if we use Test Driven Development (TDD) we could easily miss some of the key functions within the feature and need to go back to our code to make changes and then restart our testing process. This can be time consuming. Wouldn't it be better to start our testing off with the user story?
With advancements in frameworks and technology we now have the capability to write test scripts directly from the user story using SpecFlow. Taking this approach is known as Behavior Driven Development (BDD) because we are testing the users interactions instead of just data and functions. This becomes even more important when we have to work with a UI. We can mimic button presses and navigation using other tools like Selenium and EasyRepro.
I am not going to go through an entire setup process as SpecFlow has done an awesome job documenting how to set it up in CRM. Also Wael Hamze has provided some great examples in GitHub when using FakeXrmEasy and EasyRepro.
References:
With advancements in frameworks and technology we now have the capability to write test scripts directly from the user story using SpecFlow. Taking this approach is known as Behavior Driven Development (BDD) because we are testing the users interactions instead of just data and functions. This becomes even more important when we have to work with a UI. We can mimic button presses and navigation using other tools like Selenium and EasyRepro.
I am not going to go through an entire setup process as SpecFlow has done an awesome job documenting how to set it up in CRM. Also Wael Hamze has provided some great examples in GitHub when using FakeXrmEasy and EasyRepro.
References:
- WaelHamze. (n.d.). BDD/TDD for Dynamics 365 CE. Retrieved from https://github.com/WaelHamze/dyn365-ce-bdd
- TechTalk SpecFlow Team. (n.d.). SpecFlow for Visual Studio 2017. Retrieved from https://marketplace.visualstudio.com/items?itemName=TechTalkSpecFlowTeam.SpecFlowforVisualStudio2017
- Microsoft. (2018, February 27). Microsoft/EasyRepro. Retrieved from https://github.com/Microsoft/EasyRepro
- Dynamics Value. (n.d.). Retrieved from https://dynamicsvalue.com/home
- Jordimontana82/fake-xrm-easy. (n.d.). Retrieved from https://github.com/jordimontana82/fake-xrm-easy
- Agile Alliance. (n.d.). Behavior Driven Development. Retrieved from https://www.agilealliance.org/glossary/bdd/#q=~(filters~(postType~(~'page~'post~'aa_book~'aa_event_session~'aa_experience_report~'aa_glossary~'aa_research_paper~'aa_video)~tags~(~'bdd))~searchTerm~'~sort~false~sortDirection~'asc~page~1)
- UI Automation for Dynamics 365 CE – EasyRepro (Part 2). (2018, January 10). Retrieved from https://waelhamze.wordpress.com/2018/01/04/ui-automation-for-dynamics-365-ce-easyrepro-part-2/
- SpecFlow. (n.d.). SpecFlow Getting Started. Retrieved from http://specflow.org/getting-started/#InstallSetup
- Seleniumhq. (n.d.). Retrieved from https://www.seleniumhq.org/
This is all what we want and we are getting it through selenium online training Hyderabad
ReplyDelete