1.1 Topic Of System
1.2 Purpose Of Situation
1.3 Target Audience
1.4 Topic Background
1.5 Problem Context and Rationale
1.6 Objectives Of System
1.7 Functionality Of System
1.1 Topic of the System: -Virtual Mail Campaign Manager
1.2 Purpose of the situation
Internet marketing place a vital role in present marketing policies used by individuals and organizations to reach the mass user at one go. The most convenient way as discussed is email and in this scenario if somehow mail doesn't reaches the target user or due to some reason lands up in spam folder of the user then such marketing will all go in vain and that would be a total waste of investment. In order to minimize the business investment loss it is therefore important to manage and invest in right direction with result oriented approach in order to maximize the organizational benefit and fruitfulness of marketing.
In such situation when business has become so crucial that each step has to be taken with extreme care it is highly necessary to use effective systems that gives almost 100% accuracy with best market prices.
Therefore, this System “Virtual Mail Campaign Manager” gives user the best returns in terms of results. It helps in optimizing the marketing investment of the organization and also prevents the mixing of thousands of spam with the mails which can actually be helpful to user as well the investing organization.
Development of effective is not only important but also essential for effective internet marketing and therefore purpose of this system is logical and justified.
Audiences are those for whom the system is being developed. Identifying the right target audience is an important component to make any project successful. Failing to identifying the right user for the system would lead to system failure.
Target audience of VMCM includes wide range of users including novice as well as expert marketing people.
This category of user includes all the small to middle level entrepreneurs who take care of their marketing by themselves. This kind of user are not generally very proficient in computer operations and thus the flow of system is as simplified as possible in order to help user while promotion of his/her products/services.
This category of user includes all freelance developers and marketing individuals who deal with promotions of products and services of their clients. This type of users is comparatively more familiar with operations of web. And with the smooth navigation of the system, they would be capable in increasing efficiency in their work and thus helping them to increase their productivity.
This category of user includes organizations which are dedicated to marketing business. Such organizations work for promotions for their clients in various fields like SMS-Marketing, ADSENSE, email marketing and several other offline measures to increase the productivity of their clients. With VMCM they can effectively manage email marketing campaigns of their clients. And effective management leads to more number of clients.
There are several individual/organizations that use email campaigns for conducting survey over internet. VMCM would provide them a platform to reach the internet crowd with effectiveness.
With the growth of internet use, it has affected the current market of each and every vertical of every industry. Now a day every business has its partial or complete component operating through internet. When business has dominated its presence on internet so as the ways to expand it has also selected the internet way to attract more and more users in order to spread business vast and huge ultimately in order to get more and more customers around the globe.
There are several ways to promote any product/service on internet which includes Websites with Search Engine optimization to dominate search engine results, advertisement across several sites to catch the eye of user, ad words (e.g.: Google sponsored listing), Bulk SMS (sending hundreds rather thousands of SMS through internet API) and Email Marketing (Contracting with several service provider to send promotional mail to their subscribers via e-mail). There might be several other ways which are currently not in lime light but do exists.
In the present era internet is most used and fastest mode of information transmission medium available. Email is one of the most used features on internet. We often find many mails in our email inbox regarding some offers, while some are personal mails. Now these mails regarding offers are the result of some subscription we clicked for some time somewhere. This is known as opt-in newsletter. If user has not subscribed for newsletter and someone try to send bulk emails then this email goes to spam folder. At the same time such bulk mail cannot be traced whether they have reached the destination or not. And if reached even they have been read or not. That is why a person sending bulk emails is just sending them and then there is no record of what happened with those mails.
Here Are Some Problems which were identified while analyzes the present system.
Wastage of emails as the current systems are not so effective in sending bulk emails simultaneously therefore this results in wastage of so many emails and associated cost which result in organizational loss.
Loss of information Many times some has to be delivered to each and every member of the list but due to improper functioning of current systems many users do not get the right information at right time.
Spamming Due to wrong use of email id repeatedly with improper headers results in spamming of mails and repeated use of such mails can result in black listing of email address by several email servers and that way used email id is treated as a spammer.
Absence of statistics Current systems do not any statistics of emails sent by any user therefore user is unable to predict the statistics of emails sent and is unable to make future strategies accordingly.
Because of existence of identified problems there is an immediate requirement of such project. This project will serve to fulfill many aspects of mailing system and would help users to conduct successful mail campaigns. Some of the benefits are mentioned below.
Saving Money - Whenever a user wants to send bulk mail, user has to buy a certain package for number of mails whose information is in anyways not known to him. The money is definitely wasted via amount of mails that are bounced or sent to spam folder of mail. Using this tool will ensure user that his money is not wasted rather he can monitor each and every mail ensuring the right investment. This save a lot of money that was wasted in general bulk mails.
Campaign Reports - User gets each and every report of the campaign held. How many mails were sent in which campaign, number of bounce mails, unsubscribe reports etc. User is aware of all the records and they all can be monitored just on a click. This way takes care of investment that he paid for the number of mails.
Mail Status - User gets the current status of sent mails. Whenever a mail is sent that signifies it has reached the inbox of mail user. After reaching the inbox mail user would or would not read the mail. If any mail user reads the mail then sender gets its current status and can predict exactly how many users are now aware about the content of the mail. This prediction of users reading the mail will help in predicting the number of expected leads through campaign. And this estimation will help in targeting right audience for a particular mail campaign.
Newsletter service - Along with bulk email, this software also allow user to create their own newsletter service and can give options to additional users to be a part of mail campaign. This would add even more contacts to mailing list of any user and that way more chance of getting leads, that would result in more business, more profit.
Save time - when a user has exact reports about whatever mail he has sent. Then a successful campaign would save the time spent for many more unsuccessful campaigns that would be needed in case of general bulk mailing systems.
Reaching the inbox - Sending a mail is useful only if a user is able to see it in inbox. General mails end up in spam folder and then a user visits spam folder once a week and click “Delete all Spam” this result in deletion of mail without even coming to mail user's eye. This way reaching the inbox would help in getting attention of user for a while.
Increase your Bottom Line - studies show that the average consumer to watch or hear your message seven times before he or she should buy from you. That's a lot of reps! By e-marketing campaigns and can be made up of a series of e-mail to strengthen your marketing message and build your brand, so if you are willing to buy them first, you think of your company.
Two-way communication with customers - with email marketing is to sell fairly easy to get feedback from customers by simply sending a quick follow-up e-mail later. It's a good way to find out what they think of your products or services and gives them a different Ability to interact with you, too
Keep them Coming Back - A satisfied customer is a source of more customers, often more repeat business for you. Satisfied customers also tend to refer their knowns and relatives that generate new customers for you. Bulk can be used to stay in touch with customers and tell them about Special Offers or New Products or make them among the first to know when a sale is in progress. E-mail marketing customer service is a great way to improve customer loyalty.
Bulk Filters: Every mail server including Gmail, Yahoo, Rediff, MSN etc have their own spam filters on the basis of which the mail is categorized as spam or genuine. Whenever a mail server for example Gmail receives so many mails say 1000 mails from same IP address at same time then it is categorized as spam.
Headers: Every mail has some header values which contains some information about the sender of the mail. It includes “From”, “To”, “mailed by”, “reply to” etc. If one or more of these parameters are missing then chances are that the mail would be categorized as spam.
Packetization: As so many Mails cannot be sent by same mail server therefore huge mails campaign need to be broken down into smaller fragments of 100 mails each and then will be sent to different servers through which the mails will further be sent.
Mail scheduling: System will be providing the user with a facility to schedule any mail campaign to be sent in future. This would be done by the use of crone jobs. A crone job will run every 15 or 30 minutes that will check for the pending mails in the stack and if any pending mails or scheduled mail at that time present then the crone initiates the mail campaign and starts sending of mails.
Keywords Filter: Most of the spam filters also have this feature in common that whenever a mail with so many free in its subject or body is categorized as spam. In fact there is a list of word whose repetitive use is considered as spam and mail containing such words is directly categorized as spam.
Mail architecture: Not just the spammed words but also the type of structure followed in mail can also result in mail being spammed. If a mail has so many images with hardly any text in it, or if it has too bulky attachments with it, or even if the text used in mail is much in caps and several other parameters contributing to this would result mail being spammed.
Mail Status: This System would be able to get the current status of mails sent in any campaign. This system will be able to provide delivery reports of mails and also it will provide status of the mail whether the mail has been read or not. This way user can track the efficiency of the mail campaign.
Reports: System will be able to provide reports of mail campaigns. These reports includes sent reports, read reports, comparison charts etc.
Statistics: As report about sent mail is not available it is not possible to predict the statistics of the mail campaign held. So that way that campaign shows to result until and unless some user who received the mail would reply. Even then no statistics can be prepared for the campaign that included thousands of mails.
Newsletter subscription: System will allow user to start his/her own newsletter service, through which they send a newsletter to all the subscribed users on a regular basis. Also they will be able to place the subscription form on their website or any desired place. User will be provided with an html code which is to be inserted in any desired web page and through that form user can subscribe for newsletter for that particular user.
Project Management: By developing this system developer would develop the skills of project management. This involve a range of things which the develop would certain skills like time management, schedule management, priority management, project documentation, resource management, budget management, referencing and lot other skills which helps in improving the professional experience of a individual.
Programming languages: While developing this system developer would need advance and gripped knowledge of PHP like curl, xml API and mail classes and several other concepts which would be involved in the process of system development.
Web Technology: As this system involves the use of web server routing, server cron jobs, Mail API, Scheduling, Shell Scripting and several other web components which were not in syllabus are to be used in development of this system. Knowledge of these areas would help developer to improve the skills in field of web technology
Several worthwhile voyage starts with no clear picture of your destination where we have t o reach, and if you are not aware of the start or beginning of the your software system or of any project how you will gain success in that particular project or any business, you will definitely face trouble in it .At the time of defining precise success criteria by the time of project's beginning phase is necessary to keep stakeholders focused on shared objectives and it set up targets for evaluating progress.
Four-step process for defining project success criteria
The functionalities of the system that will determine the scope of the system can be classified in 3 categories:
Login Module The system has a login module which can be used by different types of users. This module is used for verifying whether the user has an activated account with the system or not. If the credentials used to login the system do not match the stored data then user will be prompted to enter the current credentials again.
Credits Check Module Every user has a limited number credentials assigned by admin of the system which can be used to send mails and host mail campaigns. Whenever a mail campaign is initiated system checks for the balance credit of the logged in user. If credits left are less than the numbers of mails assigned to campaign ten the system will generate an error message and will provide user with an option of buying more credits or cut short the list of mails such that it fits the left balance. And if credits are sufficient to shoot the campaign then the process would precede un-interrupted.
Server Allocation Mail campaigns are fragmented into smaller packets which are then diverted to several servers configured to send mails. This module deal with breaking down larger packets into smaller packets and then route the mails to assigned server respectively in order to shoot mails through various server that would minimize the possibilities of spamming due to server traffic.
Template Assignment: This module deal with assigning the selected template to the mail structure for formatting of the newsletters. There are various templates available in the system and additional templates can be imported and designed. These templates can be used for sending the mails in a particular chosen format.
Report Fetching this module deals with fetching the reports of the mails sent through the mail campaigns. This involves Making the API calls and fetching the reports of the mails. This includes various API like mail delivery report. Mail read status report etc.
Mail Scheduling: This module deals with assigned the mail campaign on a particular time to start in order to send the mail at a particular time user would schedule the mails. This module will save these mails in a different table with the assigned time and status so that when the scheduled time arrives mail campaign will be initiated automatically.
Cron This Module Deal with checking the pending mails from a particular user and would run at defined intervals. If there are any pending mails in the mail stack then this module will take the data and redirect the pending mails to Mail Sending module.
Mail Sending: This Module deal with sending the mails with the proper mail class's protocol to reach the inbox of targeted user. This mail uses PHP Pear classes and some programming concepts to send the assigned mails. Different server sends mails redirected to them in the same manner maintaining the consistency of the system.
Chart Framing: This module deals with preparing the interactive charts for the campaigns sent by any user. This module collects the data from the database and prepares interactive charts using flex and PHP technology. This would give an overview about the result of mail campaigns.
SMS Confirmation This module deals with sending the confirmation message to user when the mail campaign is complete. This module detects the sending of mails and when all the mails are routed to different servers then it picks up the mobile number of the user from database and sends the information about the mail campaign assigned by him/her.
Spam Checker This module deals with check the spamming parameters in the mail body. If the mail body contains some elements which can be a cause of spamming then it prompts an error reflecting the need of changes in the male body.
Credit Allocation This module is designed for admin through this module admin can assign email credits to any particular user which can be used to shoot mail campaigns.
Apart from the above functionalities it is possible to add more functionality into the system but as the project time and cost is limited so only the defined functionalities will be developed. The functionalities that can be incorporated in the project at a later stage can be termed as future enhancements in the project.
Project Management is the application of knowledge, skills and tools to project activities to meet project requirements. Project Management helps in successfully planning, executing and implementing the project on time, within budget and with expected functionalities.
The Project Management activities are as follows:
The scope is the most important element to understand about any project. All planning and allocation of resources are anchored to this understanding.
After the preliminary investigation is over, the next step is to create a WORK BREAKDOWN STRUCTURE (WBS).
The project will be developed in a fixed amount of time and will be delivered on the proposed date. Time for each activity has been calculated and as per the time, a Gantt chart has been made to depict the time taken for each activity.
3Quality is considered as the most powerful factor to capture, retain and enlarge customer base in the modern business scenario. Achieving customer satisfaction is the essential business of business and quality management is the most effective enterprise strategy. The state-of-the-art quality management is an embodiment of concepts, methods and applications. In the last few years, the business world has stood witness too many real life success stories.3
A test plan documents the strategy that will be used to verify and ensure that system meets its design specifications and other requirements. A test plan is usually prepared by or with significant input from Test Engineers
Software Testing can also be stated as the process of verifying that a software system:
Conceptually, testing is done to ensure that the system all the functions of the system work as expected without errors and according to the Software Specification
Testing is a crucial phase of system development as the practical implementation of system depends completely on this phase. So selection of an appropriate testing method is also very crucial as a wrong decision can spoil the whole project. As per the demand of this project and the methodology thought of, the testing techniques used for this system are as follows
Available on: https://www.manning.com/osherove/SampleChapter1.pdf
4The primary goal of unit testing is to test the smallest piece of testable unit in the application, isolate it from the rest of the code, and determine whether it behaves exactly as expected. Each unit is tested separately before integrating them into modules to test the interfaces between modules. Unit testing has proven its value in that a large percentage of defects are identified during its use. This system comprises various modules which perform various tasks and need to be checked independently for proper function checking and verification. Therefore developer included Unit Testing in the testing phase of project development.4
5Integration testing is a logical extension of unit testing. In its simplest form, two units which have been already tested in unit testing phase are combined into one module and the functioning between them is tested. In a practical scenario, more than two units are combined into components, which are in turn aggregated into even larger parts of the program. The target is to test combinations of units and eventually expand the process to test one unit with those of other units. Eventually all the units making up a process are tested together. Beyond that, if the program is composed of more than one process, they should be tested in pairs rather than all at once.5
Similarly, this system is combination of various units combined together to form the complete system. Thus function of all the units together is necessary for the proper functioning of system.
The process including a series of test is carried out to find out the bugs in system. System testing is usually required before and after a system is put in place. A series of systematic procedures are referred to while testing is being performed. These procedures tell the tester how the system should perform and where common mistakes may be found. Testers usually try to “Fail the system” by entering the data which would result in malfunction of system.6
This system is complete when it works fine as a whole. System testing is perform to verify whether the complete system “Virtual Mail Campaign Manager” works fine, if not then identified errors would be solved accordingly.6
White box testing is done with the knowledge of how the system is developed. White box testing includes analysis of data flow, control flow, information flow, coding practices, and exception and error handling within the system, to test the intended and unintended software behavior. White box testing can be performed to validate whether code implementation follows intended design, to validate implemented security functionality, and to uncover exploitable vulnerabilities.
White box testing requires access to the source code. Though white box testing can be performed any time in the life cycle after the code is developed, it is a good practice to perform white box testing during the unit testing phase.
White box testing of this system would be done by the developer in the unit testing phase to check the functionalities of individual units and if errors are found can be resolved by rectifying the errors in the source code.7
8Black box testing takes an external perspective of the test object to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid input and determines the correct output. There is no knowledge of the test object's internal structure.
This method of test design is applicable to all levels of software testing: unit, integration, functional testing, system and acceptance. The higher the level, and hence the bigger and more complex the box, the more one is forced to use black box testing to simplify. While this method can uncover unimplemented parts of the specification, one cannot be sure that all existent paths are tested.8
Currently existing systems are facing several problems due to lack of required functionality to provide a complete convenient system for the purpose of email marketing. Problems identified are discussed below with the justification and the proposed solution to overcome those problems.
Absence of Mail Reports
Current systems do not provide any information about the mails sent by any user and the further details whether the mail has been read or not.
Justification
As the user does not get any information about the mails sent by the user this result in ambiguous inference of the mail campaign initiated by the user.
System should contain information about delivery of the mails and should contain the details of the mails sent in the sent mails folder. System should also contain information about the delivery reports of the mails. Along with these reports system should provide information regarding the read status of the mail. This would help user to infer the number of user who have actually read the sent mail that would help in preparing the statistics of the mail campaign.
The system “Virtual Mail Campaign Manager” Uses several tactics to get the read status of any mail. This helps in getting the exact statistics of the mails campaign which help in judging the success of mail campaigns.
Current system does not implement any strong method to prevent the spamming of mails sent. There are various parameters which result in spamming of mail and sometimes even can result in black listing of mailing server or of email id.
If a user sent 1 million mails and due to the absence of spam filter at the mailing end that complete mail could end up as spam and would contribute nothing as a marketing strategy. This way use of email marketing would of no benefit for the user.
System should be designed in such a way so that it detects the spam content in the mail if any and would then suggest user to make the necessary correction in order to prevent spamming of the mail.
This system “Virtual mail campaign manager” implements several parameters to prevent spamming of mails sent. This includes checking of spam words in the mail body, also this system sends mails in form of fragments rather than sending all the mails via same server so the spamming due to excessive use of single server to shoot mails.
Current systems do not provide any interactive charts to compare the various entities of the mail campaign. User cannot get any comparison of sent mails against number of mails read and out of them actually how many used the links to use the services sent in the mail.
If a user sends 1 million mails and for instance all the mails are even delivered then how wills a user compare how many users actually read the mail and a ratio of delivered mail against read mails is required to calculate the success ratio of the mail campaign.
System should contain some interactive charts or graphs to represent the overview of above parameters are graphical manner so that user could get the idea about the statistics and comparison of different entities.
This System provides several Pie Charts using PHP Graph API and also it represents comparison of all the entities using flex technology. This makes is easier for user to get the desired reports and comparison statistics about the mails campaigns.
Email i.e. Electronic mail is a practice of sharing digital information or data over the internet or any other computer network commonly calledemailore-mail, is a method of exchangingdigitalmessages across theInternetor over any othercomputer network-mail used to transferred between two users which are situated at distant places'-mail services includes sending, forwarding, receiving, and keeping stocks of E-mail.
Electronic mail describes the beginning of theInternet and this way it was an important system for developing it. Today what we know as file directories, email was just a small advance of it earlier. You can put your message in any other user's file directory in a particular place where users after logging in can see these messages. This practice is somewhat like leaving a note on some people's desk.
9Perhaps the origin of email system of this type was MAILBOX, used at Massachusetts Institute of Technology from 1965. One another early system of this type for sending messages on a particular same computer was known as SNDMSG.9
Compatible Time-Sharing System(CTSS) was the first system which was demonstrated by MIT (Massachusetts Institute of Technology) IN 1961.It give permission to large number of multiple users for logging into the IBM 7094from remote dial-up terminals and it used to save and collect files or data into the storage device. Email i.e. electronic mail is very much Email is much older than Arpanet or the Internet. It was developed and evolved by taking ideas from simple beginnings.
In order to develop an effective mailing system, a lot of research on the concepts of mailing is essential. The research area will be:
Internet marketing - Understand the current scenario of internet marketing and the effect of email marketing in the industry.
Emails Concept - What are the possible uses of emails, how can email be best utilized.
Animation - For displaying and comparison of various reports graphs and charts will be used.
Spam Filters - Understand how spam filter works and prepare the application in order to prevent filtering of mails.
Newsletters - Understand the use of newsletters, prepare templates.
Besides Drifting, other academic research areas that need to be looked into are:
Human Computer Interaction - A Glance at HCIU principles in order to make application effective, easy to use and consistent.
Design Principles - A good multimedia system are developed by following the principles of a good multimedia design model, it is somewhat related to HCI.
Programming Language - There are many different types of programming languages available, according to the project needs, specific languages have to be chosen and learnt in order to produce the best result.
Software Methodology - Different types of methodology are to be reviewed and come up with comparisons between them, in the end the best methodology would be selected for the project.
It is necessary to compare the “THE VIRTUAL MAIL CAMPAIGN MANAGER” in order to prove it more superior to existing system or tool. There many these types of tools available which are not as efficient as “THE VIRTUAL MAIL CAMPAIGN MANAGER”. These tools have less functionality than “THE VIRTUAL MAIL CAMPAIGN MANAGER”. To prove this a research analysis is need to be carried out.
Some of the existing similar systems present are as follows on the basis of which research has been done:
Currently newsletter service is the one which can deliver the mails to the inbox of the targeted user. But if a user has not subscribed to the newsletter then the mails cannot be sent to that user until the user is verified.
Although there is not much provider which provides bulk email service providers which provide bulk email service. And the service provider which gives the facility of bulk mail is unable to ensure the delivery of mail to the inbox.
Along with these both type of service are unable to provide reports, charts and status of the mails sent. User is unable to predict the statistics of mail campaign initiated by the user.
This system “Virtual mail Campaign Manager” is designed to overcome the limitations of both these system. It prevents the spam filters and also provide user with the different types of charts and graph to ensure the right investment of the user.
From the above research we can conclude that “THE VIRTUAL MAIL CAMPAIGN MANAGER” is far superior to existing system. Major objective of this project is to provide user with an interface to manage mail campaigns and reports of campaigns held. To develop an easy to use system for sending successful mails to thousands of users simultaneously. This system includes an advance web based mailing system that provides a complete solution for email marketing. This system is based on several advance concepts that are new in the field of internet marketing. This system would create a new demand of email marketing in the industry. This is an easy to use, user friendly, effective solution to the problems currently faced by system.
5. The architecture to be used in this system is 3-Tier Client/Server Architecture .It is a three way interaction in the client/server environment.
There are many reasons for choosing this architecture:
It is research which is arranged in such a way that to discover original and relevant data. This type of research is known as primary research. For performing this research original research plan should be analyzed which will include data gather, data input and after this development and research of the consequent output is done. The method which is used to gather and obtain proper information from is as given below:
Questionnaires can be defined as it is a list of questions which are planned to gather precise data and information. It is used for research work by scientists, businesses, and political parties, among others.It is collection of question which is mainly in the printed form which will be answered by individual or interest group which will help in order to get specific and elicit information. These questionnaires set usually contain blank fields in which you can write your views and answers and also contain choices for question from which you have to select options.
Sets of such questions are circulated to groups and the answers obtain from these questions are used for various purposes, such as to obtain statistical information.
These are some questions for users:
1 Which Category do you belong to?
A. Web Developer B. SEO Professional C. New Organizations D. None Of These
Justification: This question helps developer to categories the users filling up the questionnaire into different groups and would help in gathering a general observation about particular group.
A. Yes B. No
Justification: This Question Would Help Developer to understand whether the user uses internet for promotion if yes then is categorized under target audience. If no then user can be convinced to use internet by telling user about the benefits of internet marketing.
Note: Question 3 to 15 Applies to user who select “Yes” in 2. If a user selects “No” Then user is not a target audience currently but can be convinced to use internet promotion by making him/her aware about the benefits of internet marketing.
3 In what ways do you use internet for promotion? Check whichever is/are applicable. (Multiple Choice)
A. SEO
B. Bulk SMS
C. Blog Posts
D. Ad-sense
E. Others (Specify)
Justification: This question would clear the information about which all promotion methods are known and/or used by user. So if required developer can make user aware of other options like bulk email.
A. Very Effective
B. Beneficial but not much
C. Not At all beneficial
D. I never measured in those terms
Justification: Let developer know if user trusts the present methods of internet marketing. This would help in understanding the current available options and the ratio of use could be depicted.
A. I know newsletter but not bulk email
B. I know both but don't use them
C. I know both and I use them
D. I don't know what you talking about
Justification : helps to predict whether the user is aware about the newsletter and bulk emailing concept and that would decide if the user lies in target audience or not. This categorization would help in collecting the right feedback for the system development process.
Note Question 6 to Question Applies to user who choose Option C in question 4
6 Which all feature does your service provider provides you currently?
A. Making Lists
B. Using Templates
C. Delivery Reports
D. Mail Status
E. Comparison charts
F. Others (Please Specify)
Justification: This question would help developer to understand the features available in existing related system and would thus help in making the new system better than previous ones
A. Very Efficient (Almost All Mails Are Delivered).
B. Moderate (Average).
C. Low (But They Do Send Some I Guess).
D. I have No Idea How It Works.
Justification: This question would help developer to measure the average efficiency of the current systems and would then compare it with the new system that should yield better result than previous ones.
A. System Provides Delivery Report.
B. I estimate On Basis of number of responses.
C. Company Claims The Efficiency.
Justification: This question would help developer to understand whether the user is actually aware about the accuracy of the system. On the basis of this question developer can predict the usefulness of question number 8.
A. Yes It Filters the mail before sending.
B. No There Nothing Like That.
C. May Be I Never noticed.
Justification: This question would help developer to understand whether are there system which have taken some measures to prevent spamming and if yes can be used as reference system to help development of present system.
A. 0-5K
B. 5K-10K
C. 10k-20K
D. More than 20K
Justification: This question would help developer to estimate cost that can be charged to user which would be using this system.
A. Yes
B. No
C. I don't Know I just send mails.
Justification: This question would help developer to understand whether the fetching of mail status is currently in use or not. If not the developer would need to start the process from scratch and if yes then if possible the existing system can be used as reference to get an idea about the methods used.
A. Yes Definitely
B. May Be
C. No. (Please Provide Reason) ____________________________
Justification: This question would help developer to predict the interest of users in new and better alternatives for better services. This will also help in predicting the potential customers for the product.
A. Gmail
B. Yahoo
C. Rediff
D. MSN, Hotmail
E. Other (Please Specify) ________________________
Justification: This would help the developer to get the most used email server used by the general user in the region and would help in optimizing the system for that/those server.
A. Very Often
B. Some Times
C. Very Rare
D. I Have No Idea
Justification: This question would help developer to predict whether what ratio of user is suffering bad service due to spamming and that would help to analyze the spamming issue.
A. Use of Wrong Words (Blocked Keywords)
B. Heavy Size of Mail
C. More Number of Images and less text
D. Improper Headers
E. Other (Please Specify) ____________________________
F. I Have No Idea
Justification: This question would help developer to predict and gather the major reasons for the spamming of bulk mails and would consider those issues if missed.
A. Price
B. Accuracy
C. A little Of Both
D. None
Justification: This would help developer to understand the priorities of users and would prepare the system accordingly.
A. Yes Of course
B. Depends On My Schedule
C. No, I Don't Have Time For Interview.
Justification: This question would help in getting the options for the short interview that could be conducted for the process and would help in development process.
A. Yes
B. No
Justification: This question would help in predicting the success of questionnaire
A. 1 B. 2 C. 3 D. 4 E. 5
Justification: This Question Would Help in rating the questionnaire for quality of content and that would help in preparation of further documents.
After primary research has been completed the next task to be carried upon is to start the secondary research. During secondary research, developer has to frame the task related to functionality of the system. There is a need of programming language, database tool to convert the idea into a reality. For this, a huge amount of technical research required on programming environment, database tool has to be performed.
Before any development task is performed, there is need to finalize the methodology to develop the system.
Software engineering is the practice of selecting the best development method for the development, implementation and maintenance of the software.
At this point, to succeed at software development we need to be flexible in our choice of software development method. Selection of appropriate SDLC model is very important as it decides the flow of development. The Methodology selected for this application is: Iterative Data Model
An Incremental development divides the system functionality into Phases (portions). In each increment, a part of functionality is delivered through cross-discipline work, from the requirements to the deployment. The unified process groups increments/iterations into phases: inception, elaboration, construction, and transition.
Inception identifies project scope, risks, and requirements (functional and non-functional) at a high level but in enough detail that work can be estimated.
Elaboration delivers a working architecture that mitigates the top risks and fulfills the non-functional requirements.
Construction incrementally fills-in the architecture with production-ready code produced from analysis, design, implementation, and testing of the functional requirements.
Transition delivers the system into the production operating environment.
Each of the phases may be divided into 1 or more iterations, which are usually time-dependent rather than feature-dependent.
It is also assumed that the preparation of final document will take around 2 weeks time which will include the merging of the documents made in the different phases and preparation of the final document to be submitted.
The idea of iterative model for the system development has been thought off because of the following reasons:
The main objective of iterative development is to build the system incrementally, starting from basic partial system features and gradually adding more features until the entire system is completed. Compared to waterfall, iterative development allows flexibility in accommodating new requirements or changes thereof.
1. One of the greatest threats to any design endeavour is discovering design problems late in the project lifecycle. The later you make the discovery, and the bigger the problem, the greater the risk to your project.
Justification: Using iterative model would give developer a way to make changes at the end of each phase (if required) this would help in flexible development of system.
2. In this model, developer has an actual build, a unit of the actual application that we can present to stakeholders and allow users to interact with and respond to. When presenting users with something that actually works, they can focus on the activity your product is intended to support, and give you feedback on that.
Justification: This would grant user to make changes in the development phase and if there is any change in any unit of system then it can be made in next iteration.
3. Another advantage of the iterative model is that the complexity of implementing the system is never overwhelming. Because elements are designed, developed and integrated in iterations, the "analysis paralysis" that is common on enterprise scope projects is alleviated. In addition, the developers get a chance to grow with the project. Iteration can leverage the business knowledge gained on the previous, and the developer gets used to delivering finished software.
Justification: this would help developer to learn from the mistakes of previous iteration. These errors can be preventing in next unit. While in waterfall model changes are known only after project complication.
4. End-of-iteration assessments not only reveal the status of the project from a product or scheduling perspective; they also help managers analyze how to improve both the organization and the process in the next iteration.
Justification: Use of this model would help developer to analyze system more precisely and develop it error free since the early stage of system development. This will increase the efficiency of system development.12
PHP is the scripting language which is HTML embedded and its syntax are borrowed from C, Java and Perl with the use of unique PHP-specific features. With the help of this language Developers able to write dynamically generate pages quickly.
Benefits of using PHP language:
From the above described features of the PHP language, a conclusion can be deriving that PHP id the programming language that must be used for the development of proposed system. From the above mentioned details it has been conclude that PHP is readily available and open source and because of this there will be no cost in using it and as PHP has very easy to understand syntax and platform agnostic, can run on Windows Linux or Mac servers. Also scalable - Lots of hosting services have it ready to use, no specialconfiguration. Because all these benefits which come along with this language PHP will be the programming language for the development process of the system.
The research work on the programming language has been completed now its turn of data base means which DBMS has to be use with PHP. This research portion will cover the judgment of DBMS for this proposed system.
MYSQL will be the database which will work as backend in this system. MYSQL is identified as a free, fast, reliable open source relational database. It is some short of in the case of sophistication and facilities, but more likely it has very much active team and from its release it regularly gets updated and more capabilities are added. The MYSQL team means to keep their database engine quick and consistent.
After a brief research was carried above you can conclude that MYSQL is a best option to use as a DBMS and as it is quite PHP compatible. It can be used to build stable and efficient system and the stability and effectiveness of your applications and databases will increase in the context of MYSQL. As it is discussed above it is open source it will bear no cost in deploying will work more accurately and efficiently. On the behalf of this research MYSQL has been choose as DBMS.
On the basis of research work done following conclusion has been brought:
All the research work needed for the system has already been done in chapter 4. But the research is incomplete without analysis. So the research should be analyzed to know its importance in proposed system.
This chapter includes the detailed description and analysis of the primary research performed in chapter 4 by the developer. After this chapter is complete, it will help in detailed design and implementation of the complete system effectively.
Primary research was conducted in form of questionnaire distributed to different people. Analysis of the questions in questionnaire is as follows:
Question |
Which Category do You belong to? |
Justification |
This question helps developer to categories the users filling up the questionnaire into different groups and would help in gathering a general observation about particular group. |
Results |
|
Analysis |
|
Question |
Do You Use Internet to promote your product/services? |
Justification |
This Question Would Help Developer to understand whether the user uses internet for promotion if yes then is categorized under target audience. If no then user can be convinced to use internet by telling user about the benefits of internet marketing. |
Results |
|
Analysis |
This statistic reflects that 80% of the users use internet for the promotion of their product/services. That means 80% of users are aware about the concept of internet marketing. This data would help in understanding the spread of internet marketing. |
Question |
In what ways do you use internet for promotion? Check Whichever is/are applicable |
Justification |
This question would clear the information about which all promotion methods are known and/or used by user. So if required developer can make user aware of other options like bulk email. |
Results |
|
Analysis |
This analysis reflects that 60% of the users use bulk SMS for the promotion of their products/services. |
Question |
Do You Find Internet Marketing Useful for promotion of you products/services? |
Justification |
Let developer know if user trusts the present methods of internet marketing. This would help in understanding the current available options and the ratio of use could be depicted. |
Results |
|
Analysis |
This analysis reflects that 80% of the users who filled this questionnaire find internet marketing to be very effective. This result is in favor of developer as these users would be more interested in using the internet marketing options |
Question |
Have you heard about Newsletter and/or Bulk email services? |
Justification |
It helps to predict whether the user is aware about the newsletter and bulk emailing concept and that would decide if the user lies in target audience or not. This categorization would help in collecting the right feedback for the system development process. |
Results
Analysis
This analysis reflects that major portion of users use newsletter services. Some know both but use none. And a very few use both of them.
Question |
Which all feature does your service provider provides you currently? |
Justification |
This question would help developer to understand the features available in existing related system and would thus help in making the new system better than previous ones |
Results |
|
Analysis |
This reflects that the major services are not provided by the current service providers |
Question |
What Is The Efficiency of Mailing System You used? |
Justification |
This question would help developer to measure the average efficiency of the current systems and would then compare it with the new system that should yield better result than previous ones. |
Results |
|
Analysis |
This analysis reflect that the maximum users feel that their current system is not performing up to the mark and thus can be the targeted user which would look for better services |
Question |
How Do You Measure The Efficiency Of Mailing System? |
Justification |
This question would help developer to understand whether the user is actually aware about the accuracy of the system. On the basis of this question developer can predict the usefulness of question number 8. |
Results |
|
Analysis |
This analysis reflects that there is an ambiguity in the measure of efficiency therefore it can be inferred that system does not provide much details about the statistics of the campaign. And this lack of information result in ambiguity in results |
Question |
Does Your Mailing System Provide Spam Filter? |
Justification |
This question would help developer to understand whether are there system which have taken some measures to prevent spamming and if yes can be used as reference system to help development of present system. |
Results |
|
Analysis |
This reflects that the spam filter prevention is not used by major service provider and thus is necessary to provide this feature to users. |
Question |
How Much Do You Spend Monthly On The Mail Promotions? |
Justification |
This question would help developer to estimate cost that can be charged to user which would be using this system. |
Results |
|
Analysis |
Maximum number of users spends more than 20000 INR per month for their mail promotions. That all go in ambiguous results. Thus a system with better results would attract more customers |
Question |
Does Your Mailing System Provide Current Status of Mails Sent? |
Justification |
This question would help developer to understand whether the fetching of mail status is currently in use or not. If not the developer would need to start the process from scratch and if yes then if possible the existing system can be used as reference to get an idea about the methods used. |
Results |
|
Analysis |
This reflects that mail providers do not provide the status of the mails sent and thus use of this feature would be beneficial to users. |
Question |
Would You Like To Invest on A New System That Gives More Accuracy and better Prices? |
Justification |
This question would help developer to predict the interest of users in new and better alternatives for better services. This will also help in predicting the potential customers for the product. |
Results |
|
Analysis |
This reflects that 40% users are the targeted users who would be interested in investing in this new system. And another 40% may invest if properly convinced. |
Question |
Which Email Server Do You Use for Your Primary Mails? |
Justification |
This would help the developer to get the most used email server used by the general user in the region and would help in optimizing the system for that/those server. |
Results |
|
Analysis |
This reflects that maximum users use Gmail or yahoo so for testing of testing these servers should be targeted the most |
Question |
How Often You See Your Promotion Mail Delivered in Spam Folder? |
Justification |
This question would help developer to predict whether what ratio of user is suffering bad service due to spamming and that would help to analyze the spamming issue. |
Results |
|
Analysis |
This result in ambiguity of the result and thus no conclusion could be depicted out of it. |
Question |
What according to you could be the major reason for spamming? |
Justification |
This question would help developer to predict and gather the major reasons for the spamming of bulk mails and would consider those issues if missed. |
Results |
|
Analysis |
Major user find spam mails due to heavy size of mails and use of images |
Question |
What Is More Important To your promotion? |
Justification |
This would help developer to understand the priorities of users and would prepare the system accordingly. |
Results |
|
Analysis |
This result in mixed response from user thus further research would decide the depiction of this question. |
Question |
Can You Be Available for a short personal interview regarding the project requirement and user feedback process? |
Justification |
This question would help in getting the options for the short interview that could be conducted for the process and would help in development process. |
Results |
|
Analysis |
This question helps in getting the user response which can be used if required. |
Question |
Do you find this questionnaire useful? |
Justification |
This question would help in predicting the success of questionnaire |
Results |
|
Analysis |
This reflects that 97% of the user find this questionnaire useful therefore questionnaire proves to be successful |
Question |
Kindly rate this questionnaire out of 5 for the quality and content. |
Justification |
This Question Would Help in rating the questionnaire for quality of content and that would help in preparation of further documents. |
Results |
|
Analysis |
This proves that the rating of question according to user has been quite good. |
5.2 Design
Use Case Diagrams
Use case gives us a semi-formal framework for structuring the stories. It is a description of steps or actions between a user (actor) and a system which lead the user towards something useful. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases.
Communication among actors or users is not shown on the use case. If any communication is essential to a logical description of the preferred behavior, perhaps the system or use case limitations should be re-examined. Alternatively, communication amongst actors can be part of the assumptions used in the use case.
A use case describes a series of actions that supply something of computable value to an actor and is drawn as a horizontal ellipse.
An actor is a person, group, or external system that plays some role in one or more communications with the system
A rectangle box is drawn around the use cases, called the system boundary box, to specify the scope of system. Anything inside the box represents functionality within scope of system and anything outside the box is not.
Use Case for Admin
Use Case for User
Admin: Admin is super user of the system and is the only user that can control the system. Admin do not primary user functionality as those are specifically meant for user.
User: User is the target audience of the system who can perform various actions in the system. User once approved can use all the functionalities of the system.
Use Case Name |
Use Case For Admin |
Description |
This use case is for management of users. Admin can assign credit to user which can be used for sending mails. Admin can create a new user as well block any exiting user. Along with this admin can upload new template in the system. |
Precondition |
Admin Should Be Logged in with admin credentials |
Related Use case |
Assign Credits, Upload template, Create user, Manage User, Approve Template |
Use Case Name |
Use Case For User |
Description |
This use case is for the operations available to user. User has been given various functions in the system. User can create new campaign, compose mail, select template, track reports, manage lists and manage profile details. |
Precondition |
User should be Logged; Status should be active and Should have sufficient credits. |
Related Use case |
Manage List, create campaign, track reports, validate email |
Assign Credits
Use Case Name |
Assign Credits |
Description |
This use case is for Credits Module Of Admin section from where admin can add or subtract credits of any user. |
Precondition |
User Should Be Logged in as Admin. |
Related Use case |
- |
Manage User
Use Case Name |
Use Case For Managing User |
Description |
This use case is for the manage user module of admin section. |
Precondition |
User Should Be Logged in as admin |
Related Use case |
- |
Upload Template
Use Case Name |
Use Case For Upload Template by admin |
Description |
This use case is for upload template module of admin section. This module is very similar to upload template module of user just with a difference that user uploaded templates need to be approved by admin. |
Precondition |
User Should Be Logged in as Admin |
Related Use case |
- |
Approve Template
Use Case Name |
Use Case For Approve Template |
Description |
This use case is for Approve template module of admin section where admin can approve the template uploaded by any user the set the pending properties of any template. |
Precondition |
User Should Be Logged in As Admin |
Related Use case |
Upload Template(user) |
Create User
Use Case Name |
Use Case For Create User By Admin |
Description |
This use case is for the Create user module in admin section. |
Precondition |
User Should Be Logged in as Admin |
Related Use case |
- |
Manage List
Use Case Name |
Use Case For Manage List |
Description |
This use case is for the Manage List module in User section. |
Precondition |
User Should Be Logged in and account status should be active. |
Related Use case |
- |
Create List
Use Case Name |
Use Case For Create List |
Description |
This use case is for the Create List module in User section. |
Precondition |
User Should Be Logged in and account status should be active. |
Related Use case |
- |
Create Campaign
Use Case Name |
Use Case For Create Campaign |
Description |
This use case is for the Create Campaign module in User section. |
Precondition |
User Should Be Logged in and account status should be active. |
Related Use case |
- |
Validate Email
Use Case Name |
Use Case For Validate Email |
Description |
This use case is for the Validate module in User section. |
Precondition |
User Should Be Logged in and account status should be active. |
Related Use case |
- |
Activity Diagram
Activity Diagram for Campaign
Activity Diagram For Add Template
Activity Diagram for List Options
Activity Diagram for Valid ids
Activity Diagram for Account Options
Entity Relationship
Entities that were identified in the system are given as follows. Certain entities depend on or are related to other entities and several diagrams have been listed below to explain those relationships.
Entities are:
Campaign Credit user validids mailinglist
Mailqueue
Relationship between User and various activities/attributes associated with user
Database design is one of the most crucial things while developing any system. It is important to keep in mind which all attribute should be associated with which all tables. Along with that it is equally important to identify the relationship between various tables and map the foreign key relationship among them.
Database of Virtual Mail Campaign Manager along with its tables, attributes and relationship have been explained below.
1. userdata: this table contains basic attributes associated with every user like username, password, contact details etc. design of the table is as follows:
Field Name |
Data type |
Allow Null |
Description |
||
Id |
Int |
No |
Contains automatically generated id for user table. Helps in several operations |
||
Username |
Varchar |
No |
Contains unique username of the user |
||
Password |
Varchar |
No |
Contains password associated with user account |
||
Email id |
Varchar |
No |
Contains primary email id associated with user account which can be used to mailing purpose |
||
Contact num |
Int |
No |
Contains contact number of user. Can be used for contacting user regarding credits and offers. |
||
Fname |
Varchar |
No |
Contain full name of user |
2. mailinglist: contains details about various lists created by several users
Field name |
Data Type |
Allow null |
Description |
Id |
Int |
No |
PK contains automatically generated id of the record |
Lname |
Varchar |
No |
Contains name assigned to the mailing list |
Username |
Varchar |
No |
FK Contains username of the user who created the list. Mapped with userdata table |
Date_created |
Datetime |
No |
Records system generated time when the list was created or modified. |
3. mailqueue: Contains details about all the mails in the queue
Field name |
Data Type |
Allow null |
Description |
Id |
Int |
No |
PK contains automatically generated id of the record |
From |
Varchar |
No |
Contains The From name and from id assigned by user to send mail from |
To |
Varchar |
No |
Contains Id and name to which the mails has to be sent |
Message |
Text |
No |
Contains the message body of the mail to be sent. |
Headers |
Text |
No |
Contains additional header parameters to be associated with the mail |
Username |
Varchar |
No |
Contains the username of the user who sent the mail |
Senton |
Datetime |
No |
Contains date and time when the mail was initiated |
Scheduled |
Datetime |
Yes |
Contains the scheduled date and time in case of mail scheduling. |
4. validids: contains all the verified ids of all the users respectively which can be used by user to use as from id:
Field name |
Data Type |
Allow null |
Description |
Id |
Int |
No |
PK contains automatically generated id of the record |
Email id |
Varchar |
No |
Contains Email Id Chosen by the user |
Username |
Varchar |
No |
FK Contains username of the user who owns the id. Mapped with userdata table |
Status |
Varchar |
No |
Contains current status of the email id whether has been verified or not |
5. Credits: contains data about current credits and total purchase of credits by any user.
Field name |
Data Type |
Allow null |
Description |
Id |
Int |
No |
PK contains automatically generated id of the record |
Credits |
Int |
No |
Contains current credits of the user |
Username |
Varchar |
No |
FK Contains username of the user who created the list. Mapped with userdata table |
Totalpurchase |
Int |
No |
Contains in all purchase by user till date in order to judge how potential the customer is |
6. Templates: This table stores the information about the email templates available in the inventory.
Field Name |
Data Type |
Null |
Description |
Id |
Int |
No |
Stores unique template id |
Title |
Varchar |
No |
Stores title for the mail campaign |
Url |
Text |
No |
Store Path Of html page of template |
Username |
Varchar |
No |
Stores username of the user who uploaded the template |
Thumbnail |
Text |
Yes |
Stores the path of the thumbnail of the page |
Status |
Varchar |
No |
Stores the current status of template whether pending or active. |
7. Campaign: This table stores certain details about mail campaigns
Field name |
Data Type |
Allow null |
Description |
Id |
Int |
No |
PK contains automatically generated id of the record |
Title |
Varchar |
No |
Stores name of the campaign |
Username |
Varchar |
No |
FK Contains username of the user who created the list. Mapped with userdata table |
Datecreated |
Date |
No |
Stores date on which campaign was created |
Status |
Varchar |
No |
Stores whether current status is saved sent or scheduled. |
Total |
Int |
No |
Stores total number of mail ids in the campaign |
Sent |
Int |
No |
Stores number of mails that has been sent/delivered |
Bounce |
Int |
No |
Stores number of mails bounced |
Read |
Int |
No |
Stores number of mails that have been read. |
Chapter 6 Implementation
Virtual mail campaign manager works on mail function of PHP along with several parameters implemented in order to prevent spamming of sent mail. Various measures have been taken to minimize the possibilities of a mail being spammed.
There are several separate modules integrated together to complete the process of mail campaign. The list of modules is as follows:
Modules of Admin of VMCM
Manage User
Create User
Search User
Block User
Manage Credits
Check Credits
Assign credits
Manage Templates
Search template
Delete template
Add template
Manage User
a. Create User
INPUT username
Validate if username exists
IF username exists then
Error=username already exists
Show Error
ENDIF
INPUT Name Of user, password, confirm password, contact number, email id
IF valid_input THEN
IF entries = “” THEN
Error Message = Field Mandatory
SHOW Error Message
ELSEIF NOT password= confirm password THEN
Error = Password and confirm password do not match
Show Error
ELSE
STORE username, password, fname, emailid, contactnum
Show Message “User Created”
ENDIF
ENDIF
b. Search User
INPUT Search_String
READ FROM userdata WHERE username = Search_String
Show DATA RETRIEVED FROM database
c. Block User
INPUT USERNAME
READ FROM userdata where username= USERNAME
Show user details
SET STATUS to BLOCKED
UPDATE STATUS in userdata where username = USERNAME
Manage Credits
a. Check credits
INPUT USERNAME
READ FROM CREDITS where username= USERNAME
Show Retrieved data
b. Assign Credits
INPUT USERNAME
READ FROM CREDITS where username=USERNAME
Show Current Credits and total purchase
INPUT ADD_CREDITS
UPDATE Credits and totalpurchase in credits where username = USERNAME
Manage Templates
a. Search Template
INPUT Search_String
READ FROM templates WHERE title LIKE%Search_String%
Show DATA RETRIEVED FROM database
b. Delete Template
INPUT STRING
READ FROM templates WHERE title LIKE %STRING%
Show LIST OF TEMPLATES
Choose template to delete
Delete from templates where id=SELECTED_ID
Modules in the user mode
Mail Campaign
Shoot campaign
Schedule campaign
Trace Campaign
Spam check
Reports
Read Reports
Delivery Reports
Unsubscribe Reports
Bounce reports
Campaign stats reports
Lists
Create list
Edit list
Delete list
Mail Campaign
a. Shoot Campaign
Input Campaign Details
Insert into campaign values (Campaign Details)
Select template
Compose Mail Content
Check Spam
Send Mails
Insert details into mailqueue
b. Schedule Campaign
Input Campaign Details
Insert into campaign values (Campaign Details)
Select template
Compose Mail Content
Check Spam
Schedule Mails
Insert details into mailqueue
c. Trace Campaign
Get details from campaigns where username=session (username)
Display results
Select campaign
Show campaign details
d. Spam Check
User Manual for Virtual Mail Campaign Manager
As VMCM is a web based application which user various server concepts so many of its functionality doesn't work on local host.
VMCM has been uploaded and configured on a Linux web server from vendor Just Host. Also 4 more servers are being used in the process in order to complete the mail process.
User has to work on only one domain i.e. https://www.webricks.com/vmcm . Application will be available at this location for temporary purpose.
When the user enters the URL in the address bar the first page that appears on the screen is home page.
Chapter 7 Testing
Trying to think, act, re-act and become a software tester.
Black Box Testing
Black-box testing is a technique of software testing for testing the functionality of an application without knowing its internal structure. Detailed knowledge of the application's code/internal functioning and programming knowledge is not required. Test cases are built around specifications and requirements, i.e. what is expected from application. It uses external specification of the system, including functionality, requirements, and designs to derive test cases.
Some of the cases that would be tested using back box testing are
1. Incorrect or missing functions
2. Interface errors
3. Errors in data structure or external database excess
4. Behavior or performance errors
5. Initialization or termination errors
In Black Box Testing the developer has followed following testing techniques
SNO. |
METHODS |
APPLICATION |
01. |
Unit Testing |
|
02. |
Integration Testing |
Integration testing is used to make sure that the interfaces connecting the software modules/units are correct; no data is lost while data is passed between modules. . |
03. |
System Testing |
System testing is testing the whole system/application and the other system elements as a whole. It is a combination of functional and integration testing together. |
04. |
User Acceptance Testing |
Acceptance testing usually includes running a series of tests on the final system. Each test of series, identified as a case, observes a particular operating condition of the user's environment or feature of the system.19 |
05. |
Usability Testing |
Usability testing is one of the black-box testing techniques. This testing is done to observe the user pattern of using the system in order to find errors and scope of improvement20 |
1. Functional Testing
Functional Testing is used to check whether each function is completely operational, and searching for errors in each function.
· White Box Testing
In white box testing, tester in aware about logical functioning of the system, thus logical functionality is kept in mind while performing test. White box testing is done to ensure that the expected output has come without logical error.
GUI Testing
GUI testing is to ensure that the graphical user interface is user friendly or not. The testing conducted will cover the following things:-
Menus, Buttons, Combo Boxes, Colors, Form Labels, Text Boxes, Messages and Message Boxes, Screen Layout and Fonts
Note:
The test cases given below in the black box testing section are done after the completion of the respective modules (i.e. after one module gets finish then the testing is done).
Integration testing is done after the system is completed on a whole.
Unit Testing
Test Case for create user from admin
Project Name: |
Virtual Mail Campaign Manager |
||||||
Test Case Name: |
Create User |
Test Case Number: |
VMCM - 1 |
||||
Written by: |
Varun Jain |
Approved by: |
Project Developer |
||||
Description: |
This module is responsible for adding a new user into the database when new account is made for him. |
||||||
Scenario |
|||||||
# |
Function to Test |
Expected Results |
Actual Result |
Remark |
|||
1 |
Addition of New user |
New user gets added into the database |
User Added Successfully |
Pass |
|||
2 |
Validation on Various Textboxes |
Background Color changes to red if incorrect |
Color Changes |
Pass |
|||
3 |
Validation for empty Fields |
Error Message gets displayed |
Message displayed |
Pass |
|||
Test Type: Unit Testing |
|||||||
Test Method: Black Box |
Test case for spam level check
Project Name: |
Virtual Mail Campaign Manager |
||||||
Test Case Name: |
Spam Check |
Test Case Number: |
VMCM - 2 |
||||
Written by: |
Varun Jain |
Approved by: |
Project Developer |
||||
Description: |
This module is responsible for adding a new user into the database when new account is made for him. |
||||||
Scenario |
|||||||
# |
Function to Test |
Expected Results |
Actual Result |
Remark |
|||
1 |
Calculate Content From Spam |
Spam Score |
Result Show |
Pass |
|||
Test Type: Unit Testing |
|||||||
Test Method: Black Box |
Test Case For add credits
Project Name: |
Virtual Mail Campaign Manager |
||||||
Test Case Name: |
Admin_Add_Credits |
Test Case Number: |
VMCM -5 |
||||
Written by: |
Varun Jain |
Approved by: |
Project Developer |
||||
Description: |
This module is responsible for adding credits to any account |
||||||
Scenario |
|||||||
# |
Function to Test |
Expected Results |
Actual Result |
Remark |
|||
1 |
Add credit |
Added credits should be added with current credits available with user |
Credits added |
Pass |
|||
2 |
Validation for empty Fields |
Error Message gets displayed |
Message displayed |
Pass |
|||
Test Type: Unit Testing |
|||||||
Test Method: Black Box |
Test Case for registration
Project Name: |
Virtual Mail Campaign Manager |
||||||
Test Case Name: |
Registration |
Test Case Number: |
VMCM -3 |
||||
Written by: |
Varun Jain |
Approved by: |
Project Developer |
||||
Description: |
This module is responsible for adding a new user into the database when new account is made for him. |
||||||
Scenario |
|||||||
# |
Function to Test |
Expected Results |
Actual Result |
Remark |
|||
1 |
Add user with status pending |
New user gets added into the database with status pending |
User Added Successfully and status set to pending |
Pass |
|||
2 |
Send Verification mail to user email id |
A Mail should Be delivered to user mail |
Mail delivered |
Pass |
|||
3 |
Validation for empty Fields |
Error Message gets displayed |
Message displayed |
Pass |
|||
Test Type: Unit Testing |
|||||||
Test Method: Black Box |
Test Case for upload template
Project Name: |
Virtual Mail Campaign Manager |
||||||
Test Case Name: |
User_Upload_Template |
Test Case Number: |
VMCM -4 |
||||
Written by: |
Varun Jain |
Approved by: |
Project Developer |
||||
Description: |
This module is responsible for adding a new template into the database |
||||||
Scenario |
|||||||
# |
Function to Test |
Expected Results |
Actual Result |
Remark |
|||
1 |
Add template with status pending |
New template gets added into the database with status pending |
template Added Successfully and status set to pending |
Pass |
|||
2 |
Upload template folder on server |
Zip file of template should be extracted and uploaded on server |
Template uploaded |
Pass |
|||
3 |
Validation for empty Fields |
Error Message gets displayed |
Message displayed |
Pass |
|||
Test Type: Unit Testing |
|||||||
Test Method: Black Box |
Test Case For Subtract Credits
Project Name: |
Virtual Mail Campaign Manager |
||||||
Test Case Name: |
Admin_Minus_Credits |
Test Case Number: |
VMCM -6 |
||||
Written by: |
Varun Jain |
Approved by: |
Project Developer |
||||
Description: |
This module is responsible for subtracting credits to any account |
||||||
Scenario |
|||||||
# |
Function to Test |
Expected Results |
Actual Result |
Remark |
|||
1 |
Subtract credit |
Subtracted credits should be minus from current credits available with user |
Credits subtracted |
Pass |
|||
2 |
Validation for empty Fields |
Error Message gets displayed |
Message displayed |
Pass |
|||
Test Type: Unit Testing |
|||||||
Test Method: Black Box |
Test Case for Sending Mail
Project Name: |
Virtual Mail Campaign Manager |
||||||
Test Case Name: |
Admin_Minus_Credits |
Test Case Number: |
VMCM -6 |
||||
Written by: |
Varun Jain |
Approved by: |
Project Developer |
||||
Description: |
This module is responsible for subtracting credits to any account |
||||||
Scenario |
|||||||
# |
Function to Test |
Expected Results |
Actual Result |
Remark |
|||
1 |
Send mail |
Mail should be delivered to designated id |
Mail delivered |
Pass |
|||
2 |
Mail bounce |
Mail should bounce if id is invalid |
Mail bounced |
Pass |
|||
Test Type: Unit Testing |
|||||||
Test Method: Black Box |
Test Case for Template selection
Project Name: |
Virtual Mail Campaign Manager |
||||||
Test Case Name: |
Admin_Minus_Credits |
Test Case Number: |
VMCM -6 |
||||
Written by: |
Varun Jain |
Approved by: |
Project Developer |
||||
Description: |
This module is responsible for subtracting credits to any account |
||||||
Scenario |
|||||||
# |
Function to Test |
Expected Results |
Actual Result |
Remark |
|||
1 |
Subtract credit |
Subtracted credits should be minus from current credits available with user |
Credits subtracted |
Pass |
|||
2 |
Validation for empty Fields |
Error Message gets displayed |
Message displayed |
Pass |
|||
Test Type: Unit Testing |
|||||||
Test Method: Black Box |
This part of the documentation includes the critical evaluation of the developed project. As this project “Virtual Mail Campaign Manager” is successfully completed and all the specifications are met .After the development of system it is necessary to evaluate the system, by means of how beneficial and useful system is for targeted end users. After the completion, this system is evaluated and it is proving to be useful for the system. This system is beneficial in many ways for the targeted end users as whenever a user wants to send bulk mail, user has to buy a certain package for number of mails whose information is in anyways not known to him. The money is definitely wasted via amount of mails that are bounced or sent to spam folder of mail. Using this tool will ensure user that his money is not wasted rather he can monitor each and every mail ensuring the right investment. This save a lot of money that was wasted in general bulk mails.ser used to gets each and every report of the campaign held. How many mails were sent in which campaign, number of bounce mails, unsubscribe reports etc. User is aware of all the records and they all can be monitored just on a click. This way takes care of investment that he paid for the number of mails. User can also get the current status of sent mails. Whenever a mail is sent that signifies it has reached the inbox of mail user. After reaching the inbox mail user would or would not read the mail. If any mail user reads the mail then sender gets its current status and can predict exactly how many users are now aware about the content of the mail. This prediction of users reading the mail will help in predicting the number of expected leads through campaign. And this estimation will help in targeting right audience for a particular mail campaign. Along with bulk email user can also create their own newsletter service and can give options to additional users to be a part of mail campaign. This would add even more contacts to mailing list of any user and that way more chance of getting leads, that would result in more business, more profit. Another advantage is that when a user has exact reports about whatever mail he has sent. Then a successful campaign would save the time spent for many more unsuccessful campaigns that would be needed in case of general bulk mailing systems. Sending a mail is useful only if a user is able to see it in inbox. General mails end up in spam folder and then a user visits spam folder once a week and click “Delete all Spam” this result in deletion of mail without even coming to mail user's eye. This way reaching the inbox would help in getting attention of user for a while. Consumers can watch or hear message seven times before he or she should buy. With email marketing is to sell fairly easy to get feedback from customers by simply sending a quick follow-up e-mail later. It's a good way to find out what they think of your products or services and gives them a different Ability to interact with you, too. A satisfied customer is a source of more customers, often more repeat business for you. Satisfied customers also tend to refer their known and relatives that generate new customers for you. Bulk can be used to stay in touch with customers and tell them about Special Offers or New Products or make them among the first to know when a sale is in progress. E-mail marketing customer service is a great way to improve customer loyalty. In this way this system is useful and fruitful for the users and fulfilling their requirements and needs.
Death is the only pure, beautiful conclusion of a great passion.
David Herbert Lawrence
After developing Virtual mail campaign manager. There are lots of things that I included in my knowledge page and executed the brain to produce the desired output. Writing a conclusion of a research is definitely not an easy task. Let's gather some concise extract of the system. The major problem currently in field of email marketing was unawareness about the success of mail campaign. Users spend a lot of money of email marketing but they are not getting the desired output.
Several tactics have been used to deliver the best possible output to the investment made by user. Mails are sent along with a dynamically generated image that points to a particular mail. When the mail is read the image address is called and thus it can be identified that the mail has been read.
This system has been developed after regress research and analysis of current existing systems and logical interpretation of several web possibilities, still there are always possibilities of upgrade in any system and so is this one. There are certain limitations like read reports of Gmail ids can fetched only if images are allowed by user, if anyone reports the server IP to email server then there are possibilities of sending server being blacklisted by the email server.
At this point if developer was to restart the project once again then developer would have included several other features with the system. Developer would have made this system even more flexible and usable to user. There are certain features that developer has considered for future enhancements.
Future enhancement of the system includes. FACEBOOK marketing solution would be available. User would be able to shoot facebook campaign with use of facebook apps.
There were several challenges while developing the system like: configuration of crone jobs, mail queue and several PHP concepts.
Virtual mail campaign manager. (2017, Jun 26).
Retrieved November 21, 2024 , from
https://studydriver.com/virtual-mail-campaign-manager/
A professional writer will make a clear, mistake-free paper for you!
Get help with your assignmentPlease check your inbox
Hi!
I'm Amy :)
I can help you save hours on your homework. Let's start by finding a writer.
Find Writer